我正在尝试使用listView属性中的MouseClick事件来处理鼠标左键和右键。
不幸的是,事件似乎永远不会发生。 (双击事件以创建属性,输入一些简单的代码并在第一行放置断点)。对于属性中列出的其他几个事件也是如此(ItemSelectionChanged似乎有效,但我尝试过的其他事件不会触发。
以下是添加的代码:
在form.designer.cs中:
this.listView1.MouseClick + = new System.Windows.Forms.MouseEventHandler(this.listView1_MouseClick);
在form.cs中:
private void listView1_MouseClick(object sender,MouseEventArgs e) { 一些代码 }
当我点击listview时,永远不会调用该方法。列表视图位于堆栈顶部的选项卡中。
我想我可能会忘记一些非常基本的东西但是什么?
答案 0 :(得分:2)
ListView有点不寻常,除非您单击视图中的项目,否则它的MouseClick事件不会触发。解决方法是改为使用MouseDown或MouseUp事件。您通常对ItemSelectionChanged事件btw更感兴趣。如果使用MouseDown / Up,您可能需要使用HitTest()方法来查看所点击的内容。