C#中完全禁止鼠标移动和点击工作中,我是一名教练。我正在上课教人们如何在没有鼠标的情况下“做事”......看到人们点击“登录”文本框,键入,抓住鼠标,点击“密码”,输入密码,然后抓住鼠标再次点击下面的“连接”按钮?因此,我将向他们展示如何在没有鼠标的情况下完成这一切(当然还有许多其他事情)在课程结束时,我将通过一种考试。所以我正在构建一个基于向导的小型应用程序,我在其中提供了一些类似于现实生活的表单填写示例,但我想在进行此测试时以编程方式禁用鼠标。但是,在向导中,我将不得不让他们再次使用鼠标。是否有一种-可能很简单-暂时禁用鼠标并在以后重新启用它的方法?我正在使用C#2.0,在VC#2k5下编程,如果这很重要使表单实现IMessageFilter。然后在窗体中添加如下代码:RectangleBoundRect;矩形OldRect=Rectangle.Empty;privatevoidEnableMouse(){Cursor.Clip=OldRect;游标.Show();Application.RemoveMessageFilter(这个);}publicboolPreFilterMessage(refMessagem){if(m.Msg==0x201||m.Msg==0x202||m.Msg==0x203)返回真;如果(m.Msg==0x204||m.Msg==0x205||m.Msg==0x206)返回真;返回假;}privatevoidDisableMouse(){OldRect=Cursor.Clip;//任意位置。BoundRect=newRectangle(50,50,1,1);Cursor.Clip=BoundRect;光标.隐藏();Application.AddMessageFilter(这个);}这将隐藏光标,使其无法移动并禁用鼠标左右键。您正在寻找Cursor.Hide()方法。请注意,光标仍然可以移动,只是不可见。如果您在启用视觉样式的情况下运行,您仍然可以通过跟踪悬停效果来使用鼠标。然而,任何能做到这一点的人可能都不需要你的课。一种更“有趣”的方法是处理MouseMove事件并设置Cursor.Position以防止鼠标移入面板。一个不同的方法怎么样(想出“必须为所有事情写一个解决方案”框):在开始上课之前,断开所有鼠标……让他们在需要再次使用鼠标时重新连接。恕我直言,最简单的是PInvoke的ShowCursor(FALSE)函数(参见http://msdn.microsoft.com/en-us/library/ms648396.aspx)[DllImport("user32.dll")]staticexternintShowCursor(boolbShow);编辑:这相当于调用Cursor.Hide()(http://msdn.microsoft.com/en-us/library/system.windows.forms.cursor.hide(v=VS.100).aspx)如果你正在使用Windows窗体。以上就是C#学习教程:c#中完全禁止鼠标移动和点击共享。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
