从列表视图中获取所选项目的行号 C#

Get row number for selected item from list view c#

如何在 C# 中从列表视图中获取所选项目的行号

private void listView1_DoubleClick(object sender, EventArgs e)
{
   if( (listView1 row numer for selectitem) > 2 )
   {
      int indx = listView1.SelectedItems[0].Index;
      listView1.Items[indx].Remove();
   }
}

https://msdn.microsoft.com/en-us/library/system.windows.forms.listview.itemselectionchanged(v=vs.110).aspx 可能会有帮助。

即改为侦听 ItemSelectionChanged 事件,并对事件数据使用 ItemIndex 属性。

例如Microsoft 示例显示

private void ListView1_ItemSelectionChanged(
    Object sender, ListViewItemSelectionChangedEventArgs e) {

    var i = e.ItemIndex; // got the latest selection
}

改为尝试 SelectedIndexChanged 事件...索引位置是从零开始的,因此如果您有 10 个项目,您的索引将为 0 - 9。如果您认为 0 是第 1 行,则只需添加一个。最后,当项目未 selected 时,索引为 -1

private void ListView1_SelectedIndexChanged(object sender, EventArgs e)
{
    if (ListView1.SelectedIndex > -1)
    {
        // Add 1 so you have 1 - 10 instead of 0 - 9
        int rowNumber = ListView1.SelectedIndex + 1;

        // Your example says you want to delete the selected index
        // so you still would want to use the selected index
        ListView1.Items.RemoveAt(ListView1.SelectedIndex);

        // After you remove the item, this method will fire again
        // but the selected index will be -1 so none of this code will
        // execute again.
    }
}

请记住,此代码一次仅支持 select 一行。

希望这对您有所帮助...