0

我有DataGridView一个上下文菜单。一个菜单项是复制(使用 Ctrl+C 热键。)我要做的就是获取当前鼠标位置以复制用户右键单击的单元格,或者如果他们使用热键则获取当前选定的单元格. 在这两种情况下,menu_Click事件都会被触发。如何判断它是来自热键还是上下文菜单?

4

1 回答 1

1

据我所知,您可以通过Hook所有事件MouseKeyboard事件来检测输入源。

您应该看看这篇CodeProject文章,在 C# 中处理全局鼠标和键盘挂钩

MSDN 参考

全局挂钩监视与调用线程相同的桌面中的所有线程的消息。特定于线程的挂钩仅监视单个线程的消息。全局挂钩过程可以在与调用线程相同的桌面中的任何应用程序的上下文中调用,因此该过程必须位于单独的 DLL 模块中。仅在关联线程的上下文中调用特定于线程的钩子过程。

于 2012-10-30T17:59:27.560 回答