从列表视图中获取所选项目的行号 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();
}
}
即改为侦听 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 一行。
希望这对您有所帮助...
如何在 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();
}
}
即改为侦听 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 一行。
希望这对您有所帮助...