我在 C# 中有一个带有 ListView 控件的 Winforms 应用程序。此 ListView 显示待办事项列表,我正在使用“ItemSelectionChanged”事件来处理更新。
问题是每次我尝试进行更新时,“ItemSelectionChanged”事件都会触发两次。
ItemSelectionChanged 事件刷新表单以表示更新(即从列表中删除项目)。
有没有办法在刷新后禁止事件触发?
更新 1:
private void listView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
{
if (e.IsSelected)
{
listView1.Items[e.ItemIndex].Remove();
listView1.SelectedIndices.Clear();
listView1.Focus();
listView1.Update();
}
else
{
}
}
最佳答案
是的,它会触发两次。一次是因为之前选中的项目变成未选中状态,再次是因为新选中的项目。您只需确保看到选择事件:
private void listView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e) {
if (e.IsSelected) {
// Update form
//...
}
}
关于c# - Listview ItemSelectionChanged 触发两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3229498/