概述
标准单击事件行为
如 果要以正确顺序处理鼠标单击事件,需要知道在 Windows 窗体控件中单击事件的引发顺序。除对下面列表中的个别控件另有说明外,当按下并释放鼠标按钮(无论哪个按钮)时,所有 Windows 窗体控件都会以相同顺序引发单击事件。下面列表显示单击一次鼠标按钮所引发事件的顺序:
-
MouseDown 事件。
-
Click 事件。
-
MouseClick 事件。
-
MouseUp 事件。
以下是双击鼠标按钮所引发事件的顺序:
-
MouseDown 事件。
-
Click 事件。
-
MouseClick 事件。
-
MouseUp 事件。
-
MouseDown 事件。
-
DoubleClick 事件。(这可能有所不同,具体取决于相关控件是否将 StandardDoubleClick 样式位设为 true。有关如何设置 ControlStyles 位的更多信息,请参见 SetStyle 方法。)
-
MouseDoubleClick 事件。
-
MouseUp 事件。
有关阐释鼠标单击事件顺序的代码示例,请参见如何:在 Windows 窗体控件中处理用户输入事件
个别控件
下列控件不符合标准的鼠标单击事件行为:
-
Button、CheckBox、ComboBox 和 RadioButton 控件
注意 对于 ComboBox 控件,如果用户单击编辑字段、按钮或列表中的项,则发生下面详细说明的事件行为。
-
单击左键:Click、MouseClick
-
单击右键:不引发任何单击事件
-
双击左键:Click、MouseClick;Click、MouseClick
-
双击右键:不引发任何单击事件
-
-
TextBox、RichTextBox、ListBox、MaskedTextBox 和 CheckedListBox 控件
注意 当用户单击这些控件内的任何位置时,发生下面详细说明的事件行为。
-
单击左键:Click、MouseClick
-
单击右键:不引发任何单击事件
-
双击左键:Click、MouseClick、DoubleClick,MouseDoubleClick
-
双击右键:不引发任何单击事件
-
-
ListView 控件
注意 只有当用户单击 ListView 控件中的项时,才会发生下面详细说明的事件行为。单击控件上的任何其他位置都不会引发任何事件。除下面所描述的事件外,还有 BeforeLabelEdit 和 AfterLabelEdit 事件,如果要对 ListView 控件进行验证,则您可能会用到这两个事件。
-
单击左键:Click、MouseClick
-
单击右键:Click、MouseClick
-
双击左键:Click、MouseClick;DoubleClick、MouseDoubleClick
-
双击右键:Click、MouseClick;DoubleClick、MouseDoubleClick
-
-
TreeView 控件
注意 只有当用户在 TreeView 控件中单击项本身或项的右侧时,才会发生下面详细说明的事件行为。单击控件上的任何其他位置都不会引发任何事件。除下面描述的事件外,还有 BeforeCheck、BeforeSelect、BeforeLabelEdit、AfterSelect、AfterCheck 和 AfterLabelEdit 事件,如果要对 TreeView 控件进行验证,则您可能会用到这些事件。
-
单击左键:Click、MouseClick
-
单击右键:Click、MouseClick
-
双击左键:Click、MouseClick;DoubleClick、MouseDoubleClick
-
双击右键:Click、MouseClick;DoubleClick、MouseDoubleClick
-
切换控件的绘制行为
切换控件(如从 ButtonBase 类派生的控件)具有以下与鼠标单击事件相结合的独特绘制行为:
-
用户按鼠标按钮。
-
该控件以按下状态进行绘制。
-
引发 MouseDown 事件。
-
用户释放鼠标按钮。
-
该控件以凸起状态进行绘制。
-
引发 Click 事件。
-
引发 MouseClick 事件。
-
引发 MouseUp 事件。
注意 如果用户在鼠标按钮处于按下状态时,将鼠标指针移出切换控件(例如,当鼠标按钮处于按下状态时将鼠标从 Button 控件中移出),则该切换控件将以凸起状态进行绘制,且只发生 MouseUp 事件。在这种情况下,Click 和 MouseClick 事件将不会发生。
最后
以上就是阳光皮带为你收集整理的Windows 窗体中的鼠标事件标准单击事件行为的全部内容,希望文章能够帮你解决Windows 窗体中的鼠标事件标准单击事件行为所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复