Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果单击列表框的空字段,如何清除列表框选择?_C#_Winforms - Fatal编程技术网

C# 如果单击列表框的空字段,如何清除列表框选择?

C# 如果单击列表框的空字段,如何清除列表框选择?,c#,winforms,C#,Winforms,我有一个简单的Windows窗体,其中包含一个名为lstVersenyzok的列表框。我有一个lstVersenyzok\u SelectedIndexChanged功能。单击列表框的空字段时,如何清除列表框的选择?我试过了,但是如果我检查条件lstVersenyzok.SelectedIndex==-1,它就不起作用了 您可以使用MouseClick事件并通过索引frompoint方法获取所选索引。 检查索引是否为-1,然后调用lstVersenyzok.ClearSelected()以清除选

我有一个简单的Windows窗体,其中包含一个名为
lstVersenyzok
的列表框。我有一个
lstVersenyzok\u SelectedIndexChanged
功能。单击列表框的空字段时,如何清除列表框的选择?我试过了,但是如果我检查条件
lstVersenyzok.SelectedIndex==-1
,它就不起作用了


您可以使用MouseClick事件并通过
索引frompoint
方法获取所选索引。 检查索引是否为-1,然后调用
lstVersenyzok.ClearSelected()
以清除选择

private void lstVersenyzok_MouseClick(object sender, MouseEventArgs e)
        {
            int index = this.lstVersenyzok.IndexFromPoint(e.Location);
            if(index == -1)
            {
                lstVersenyzok.ClearSelected();
            }
        }

希望这有帮助

我试过了,但当我点击列表框的空字段,保持选中一个项目,而不删除选中内容时没有反应。我找到了结果,我在表单的构造函数中编写了以下代码:
this.lstVersenyzok.MouseClick+=new MouseEventHandler(lstVersenyzok\u MouseClick)。非常感谢你!谢谢你的帮助。