[Tips][ListView] 選択項目のインデックスを取得する

スポンサーリンク

選択項目のインデックスを取得するには、SelectedItems プロパティ Indexプロパティを使用します。

SelectedItemsプロパティは、現在選択されている項目が格納されるコレクションです。

下記は、現在選択されている項目のインデックスを取得する例です。

VB.NETの例

''' <summary>
''' フォームロード時にListViewに項目を追加する
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub Form8_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

''' <summary>
''' [選択項目のインデックスを取得する]ボタンクリック時の処理
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim strIndexes As String = String.Empty

    For Each itemx As ListViewItem In ListView1.SelectedItems
        strIndexes &= itemx.Index.ToString() + ","
    Next

    MessageBox.Show("選択項目のインデックスは" & vbCrLf + strIndexes)
End Sub

C#の例

/// <summary>
/// フォームロード時にListViewに項目を追加する
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form8_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);
    }
}

/// <summary>
/// [選択項目のインデックスを取得する]ボタンクリック時の処理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
    string strIndexes = string.Empty;

    foreach (ListViewItem itemx in listView1.SelectedItems)
    {
        strIndexes += itemx.Index.ToString() + ",";
    }

    MessageBox.Show("選択項目のインデックスは\r\n" + strIndexes);
}

コメント

  1. […] 選択項目のインデックスを取得する […]

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