首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c#检测鼠标在任意位置(窗体内部和外部)的点击

c#检测鼠标在任意位置(窗体内部和外部)的点击
EN

Stack Overflow用户
提问于 2018-03-02 19:44:03
回答 3查看 10.4K关注 0票数 4

是否有可能在if语句中检测到鼠标单击(左/右)在任何位置(表单内部和外部)?如果可能,又是如何实现的?

代码语言:javascript
复制
if(MouseButtons.LeftButton == MouseButtonState.Pressed){

...

}
EN

Stack Overflow用户

发布于 2021-01-02 23:33:48

一种方法是用一个无边框的窗体覆盖整个屏幕,并将属性设置为透明(在完全透明之上的几个百分比,不确定全透明是否有效,但您不会注意到差异),并将其设置为最高。然后使用表单中的事件。一旦检测到单击,这将不会影响窗体下面的任何东西(在我的应用程序中,这是我希望发生的事情),但是窗体可以关闭,然后在不到一秒的时间内再次单击鼠标,以激活下面的控件。我在VB6中使用windows API使用鼠标钩子没有问题,但似乎找不到在2019版本的.NET中可以在c#中工作的东西,所以这是一个很好的变通方法。当然,为了更聪明,您可以使用不规则表单方法来使透明表单具有与鼠标相同的形状,并遵循它。注意:我刚刚找到了使用钩子完成这项工作的完整代码,这些钩子一般人都可以立即启动和运行!KeyboardMouseHooks C#库- CodePlex存档PS如果您使用my (哑巴)方法,请记住创建一个退出键或按钮,否则您将不得不重新启动计算机,除非窗体被编程为在实际单击时消失,如建议的那样!

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49068445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档