b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

如何在.NET框架中处理C#鼠标事件?(组图)

电脑杂谈  发布时间:2021-05-07 03:01:40  来源:网络整理

C ++鼠标事件处理C#鼠标事件包括许多鼠标操作,例如为用户提供鼠标的右键单击功能,右键单击拖动等等。只要设置了属性,处理C#鼠标事件就相对简单,右键单击时将显示一个菜单,而进一步的右键单击拖动将涉及时间处理。过去,使用C ++ / MFC开发程序时,通常会为用户提供鼠标的右键单击功能。如今,在.NET框架中使用C#时,我还想在程序中提供右键单击功能。在选项卡和主窗口背景上使用鼠标右键。毕竟,C#不是C ++ / MFC,那么如何处理C#鼠标事件?本文将在下面专门讨论此问题。在.NET框架下进行编程非常容易,有时如此简单,以至C ++程序员都无法想到。这主要是因为用C ++编写代码通常需要“艰苦的工作”。所谓的“艰苦工作”意味着许多细节必须自己考虑和处理。但这不是C#的情况。如果要显示上下文菜单,则完全不需要参与该事件。只需设置控件的ContextMenu属性,如下所示:ContextMenu myContextMenu myContextMenu;就这么简单。只要根据上述方法设置属性,当用户单击右键时,菜单将自动显示。另外,如果要进一步实现右键单击拖放,则仅涉及事件处理。

在MFC中,您自然会想到实现OnRButtonDown和OnRButtonUp,但这不是Windows窗体的工作方式。尽管许多窗口类确实提供了可以重写以处理常见消息的虚拟函数(例如:Form.OnActivated和Form.OnClosed),但是在.NET框架中进行编程时,您必须学会对事件进行思考并理解一个类。什么事件提供。下表列出了Control类提供的更常用的事件:ClickHelpRequested MouseLeave ContextMenuChanged无效的MouseMove DoubleClick KeyDown MouseUp DragDrop KeyPress MouseWheel DragEnter KeyUp Move DragLeave布局Paint DragOver Leave ParentChanged EnabledChanged LostFocus大小调整输入MouseDown SizeChanged FontChanged MouseEnter StyleChanged GotFocus在中间,这些事件与名称一样:MouseDown,MouseEnter,MouseHover,MouseLeave,MouseMove MouseUp,如果要处理右键单击事件,则可以安装MouseDown事件处理例程,请使用MouseEventArgs.Button MouseButtons。右键检查MouseEventArgs。下面的代码段演示了如何执行此操作:publicclass MyControl publicMyControl()newMouseEventHandler(this.OnMouseDown);处理例程1 1.私有void OnMouseDown(对象发送者,MouseEventArgs(e == MouseButtons.Right))1 3.处理1 4.表1中有三个有用的鼠标事件,不能在MFC中直接处理:MouseEnter ,MouseHover和MouseLeave。

jsp按钮点击事件_jsp点击事件_jsp鼠标经过事件

在Win32中,必须通过特殊的TrackMouseEvent函数处理这些事件。在.NET框架中,每当鼠标进入或离开特定控件时,都会触发MouseEnter和MouseLeave。当您要在鼠标移至控件上方时使控件突出显示时,这些事件非常有用,例如在浏览器链接中突出显示。当鼠标移至控件时,在预定时间内(此时间由SystemParametersInfo(SPI_GETMOUSEHOVERTIME)指定),. NET框架将激活MouseHover。它广泛用于工具提示和其他类似的定时弹出功能应用程序中。这些鼠标事件和熟悉的Click事件之间是什么关系?我认为可以说Click属于较高级别的逻辑事件,而鼠标事件的级别相对较低。例如,无论用户按下左键还是右键,Forms都会触发Click事件,而文本框只能触发键的左Click事件。表2列出了Click事件的不同类型的控件的含义。单击触发的事件以控制或控制鼠标左键单击鼠标左键双击鼠标右键单击鼠标右键单击鼠标右键双击鼠标中键单击鼠标中键双击MonthCalendar,DateTimePicker,RichTextBox,HScrollBar,VScrollBar无无无无按钮,复选框,单选按钮单击单击,单击无无无无列表框,已检查列表框,组合框单击单击,DoubleClick无无无无TextBox,DomainUpDown,单击单击,无无无无NumericUpDown DoubleClick * TreeView,* ListView单击单击, DoubleClick单击单击,DoubleClick无无ProgressBar TrackBar单击单击,单击,单击,单击,单击单击,单击窗体,DataGrid,标签,LinkLabel,面板,GroupBox,PictureBox,拆分器,DoubleClick,StatusBar,ToolBar,TabPage,** TabControl单击单击,DoubleClick Click Click,DoubleClick Click Click,DoubleClick鼠标指针必须位于子对象上方(TreeNode TabControl必须具有它的TabPages页面集合中至少有一个TabPage。

jsp鼠标经过事件_jsp点击事件_jsp按钮点击事件

最后,无论如何,只要您愿意,就可以始终重写Control.WndProc以处理任何WM_XXX消息,例如:您可以自定义WM_NCLBUTTONDOWN消息处理代码:protectedoverride void WndProc(ref winuser.h const中的消息值) WM_NCLBUTTONDOWN //做些事情我编写了一个示例程序MouseTrap,如图1所示,图1 MouseEventTrap该程序演示了如何处理鼠标事件,如果使用WndProc处理消息,则必须使用IntPtrs来获取消息参数,因此或更少,您需要使用C进行编程,但是由于您已经熟悉C ++,因此此时您不会感到费劲,但是会熟悉这条路。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-373590-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 张双忠
        张双忠

        @小米公司

      • 李旭
        李旭

        你还叽叽呱呱

        • 陈冰川
          陈冰川

          另一方面要通过实际行动向美国表达坚决的意志

      • 黄志文
        黄志文

        当年台湾经济起飞靠的是越战机遇

      热点图片
      拼命载入中...