如何在没有项目的 ListView 上捕获双击事件?
在我的 C# 应用程序中,我的表单上有一个 ListView。我希望用户能够在未选择任何项目时双击 ListView 的一部分,以弹出“新项目”对话框。问题是 ListView 的 DoubleClick 事件仅在选择某个项目时才会触发。
有办法做到这一点吗?
In my C# app, I have a ListView on a Form. I want the user to be able to double-click on a section of the ListView when no items are selected in order to pop up a "New Item" dialog. The problem is that the DoubleClick event for the ListView only fires if an item is selected.
Is there a way to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
有一种方法可以做到这一点,但您必须对 Windows 机器进行一些低级钻探。花费大量时间尝试让标准 Windows 控件以非标准方式运行通常不是一个好主意。
一种更简单的方法是在 ListView 旁边放置一个“新项目”按钮。如果屏幕空间是一个问题,您可以在底部添加一个额外的行,上面写着“{单击此处添加新项目}”,并在用户单击最后一行时显示对话框。
There is a way to do this, but you have to do some low-level drilling into the Windows machinery. It's generally not a good idea to spend a great deal of time trying to get a standard Windows control to behave in a non-standard manner.
A simpler way is to just put a "New Item" button next to your ListView. If screen real estate is an issue, you could just add an extra row at the bottom that says "{click here to add new item}", and show your dialog when the user clicks this last row.
为列表视图的 MouseDoubleClick 事件添加事件处理程序。
Add an event handler for the List view's MouseDoubleClick event.
假设 Windows 窗体:
也许一个好的解决方法是使用
上下文菜单
。Assuming Windows Forms:
Perhaps a good workaround would be to use a
ContextMenu
.