首页 文章

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

提问于
浏览
1

我试图使用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)

单击列表视图时,永远不会调用该方法 . 列表视图位于堆栈顶部的选项卡中 .

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

1 回答

  • 2

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

相关问题