You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过代码触发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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 04:20:22