如何通过代码触发ListView项选中时的SelectedIndexChanged事件?
解决ListView手动选中行不触发SelectedIndexChanged事件的问题
修正事件绑定时机
别在点击操作时才绑定SelectedIndexChanged事件,得在窗体初始化阶段(比如Form_Load方法)就绑定好,不然要么重复绑定,要么第一次操作时事件根本没生效:private void YourForm_Load(object sender, EventArgs e) { listView1.SelectedIndexChanged += listView1_SelectedIndexChanged; }手动选中行并触发事件
手动设置Selected = true不会自动触发SelectedIndexChanged,得手动调用事件处理方法,代码示例如下:// 先清掉之前的选中项,避免多选混乱 listView1.SelectedItems.Clear(); // 替换成你的目标索引变量 int targetIndex = 0; ListViewItem targetItem = listView1.Items[targetIndex]; targetItem.Selected = true; // 手动触发事件 listView1_SelectedIndexChanged(listView1, EventArgs.Empty);额外检查
确认ListView的SelectionMode属性不是None(默认是One),要是设成None连选中都做不到,更别说触发事件了。
内容的提问来源于stack exchange,提问作者Monzi80
相关产品推荐
相关产品推荐

