[Tips][ListView] 項目を行で選択できるようにする

スポンサーリンク

ListViewの表示モードがDetailsのときは、先頭の列の項目をクリックすることによって項目の選択を行います。

これを、どの列でクリックされた場合でも(つまり行内でクリックされた場合に)項目が選択されるようにするには、FullRowSelectプロパティにTrueを指定します。

下記は、[FullRowSelect]チェックボックスにチェックが付けられたときに、項目を行単位で選択できるようにする例です。

VBの例

' フォームロード時にListViewに項目を追加する
Private Sub Form6_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim items(,) As String = {
            {"VB", "ぶいびー"},
            {"C#", "しーしゃーぷ"},
            {"VC++", "びじゅあるしーぷらすぷらす"},
            {"F#", "えふしゃーぷ"},
            {"PowerShell", "ぱわーしぇる"}}

    'ListViiewに項目を追加
    For I As Integer = 0 To (items.Length \ items.Rank) - 1
        Dim itemx As New ListViewItem

        itemx.Text = items(I, 0)
        itemx.SubItems.Add(items(I, 1))
        ListView1.Items.Add(itemx)
    Next
End Sub

' FullRowSelectのチェック変更時の処理
Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
    '[FullRowSelect]チェックボックスの内容に合わせて
    'ListViewの項目選択方法を切り替える
    ListView1.FullRowSelect = CheckBox1.Checked
End Sub

C#の例

// フォームロード時にListViewに項目を追加する
private void Form6_Load(object sender, EventArgs e)
{
    string[,] items = {
                      {"VB", "ぶいびー"},
                      {"C#", "しーしゃーぷ"},
                      {"VC++", "びじゅあるしーぷらすぷらす"},
                      {"F#", "えふしゃーぷ"},
                      {"PowerShell", "ぱわーしぇる"}};

    // ListViewに項目を追加する
    for (int i = 0; i < items.Length / items.Rank; i++)
    {
        ListViewItem itemx = new ListViewItem();

        itemx.Text = items[i, 0];
        itemx.SubItems.Add(items[i, 1]);
        listView1.Items.Add(itemx);
    }
}

// FullRowSelectのチェック変更時の処理
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
    // [FullRowSelect]チェックボックスの内容に合わせて
    // ListViewの項目選択方法を切り替える
    listView1.FullRowSelect = checkBox1.Checked;
}
Please follow and like us:

コメント

  1. […] 項目を行で選択できるようにする […]

タイトルとURLをコピーしました