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) { 一些代码 }

当我单击列表视图时,该方法永远不会被调用。列表视图位于堆栈顶部的选项卡内。

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

4

1 回答 1

2

ListView 有点不寻常,它的 MouseClick 事件不会触发,除非您单击视图中的项目。解决方法是改用 MouseDown 或 MouseUp 事件。顺便说一句,您通常对 ItemSelectionChanged 事件更感兴趣。如果您使用 MouseDown/Up,您可能需要它的 HitTest() 方法来准确查看点击了什么。

于 2013-08-17T16:39:29.903 回答