【发布时间】:2009-04-30 19:10:40
【问题描述】:
如何以编程方式触发 ListView 的 SelectedIndexChanged 事件?
我打算让我的 ListView 中的第一项在用户完成某个操作后自动被选中。 SelectedIndexChanged 事件中已存在用于突出显示所选项目的代码。不仅该项目无法突出显示,而且在 SelectedIndexChanged 中设置的断点也永远不会被命中。此外,Debug.WriteLine 无法产生输出,所以我很确定该事件没有触发。
以下代码未能触发事件:
listView.Items[0].Selected = false;
listView.Items[0].Selected = true;
listView.Select();
Application.DoEvents();
额外的 .Select() 方法调用被包括在内是为了很好的衡量。 ;) 取消选择 (.Selected = false) 用于取消选择 .Items 集合中的 ListViewItem,以防它可能已被默认选中,因此将其设置为“true”将无效。 'Application.DoEvents()' 调用是另一种最后的方法。
上面的代码不应该触发 SelectedIndexChanged 事件吗?
我应该提到,当通过键盘或鼠标输入选择项目时,SelectedIndexChanged 事件会正确触发。
【问题讨论】:
标签: c# winforms listview selectedindexchanged