在属性中设置的ListView事件不起作用

时间:2013-08-17 14:46:50

标签: c# events listview

我正在尝试使用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时,永远不会调用该方法。列表视图位于堆栈顶部的选项卡中。

我想我可能会忘记一些非常基本的东西但是什么?

1 个答案:

答案 0 :(得分:2)

ListView有点不寻常,除非您单击视图中的项目,否则它的MouseClick事件不会触发。解决方法是改为使用MouseDown或MouseUp事件。您通常对ItemSelectionChanged事件btw更感兴趣。如果使用MouseDown / Up,您可能需要使用HitTest()方法来查看所点击的内容。