面朝大海,春暖华开

focus on scientific computue, 3dgis, spatial database
专注于科学计算、GIS空间分析

 

C# mouseDoubleClick与DoubleClick的关系

public event EventHandler DoubleClick

public event MouseEventHandler MouseDoubleClick

 

标准单击事件行为

如果要以正确顺序处理鼠标单击事件,需要知道在 Windows 窗体控件中单击事件的引发顺序。除对下面列表中的个别控件另有说明外,当按下并释放鼠标按钮(无论哪个按钮)时,所有 Windows 窗体控件都会以相同顺序引发单击事件。

 

下面列表显示单击一次鼠标按钮所引发事件的顺序:

MouseDown 事件。

Click 事件。

MouseClick 事件。

MouseUp 事件。

 

以下是双击鼠标按钮所引发事件的顺序:

MouseDown 事件。

Click 事件。

MouseClick 事件。

MouseUp 事件。

MouseDown 事件。

DoubleClick 事件。(这可能有所不同,具体取决于相关控件是否将 StandardDoubleClick 样式位设为 true,设置为false时,DoubleClick事件不可用。)

MouseDoubleClick 事件。

MouseUp 事件。

 

 

下列控件不符合标准的鼠标单击事件行为:

ButtonCheckBoxComboBox  RadioButton 控件

 

注意

对于 ComboBox 控件,如果用户单击编辑字段、按钮或列表中的项,则发生下面详细说明的事件行为。

 

 

单击左键:ClickMouseClick

单击右键:不引发任何单击事件

双击左键:ClickMouseClickClickMouseClick

双击右键:不引发任何单击事件

TextBoxRichTextBoxListBoxMaskedTextBox  CheckedListBox 控件

 

注意

当用户单击这些控件内的任何位置时,发生下面详细说明的事件行为。

单击左键:ClickMouseClick

单击右键:不引发任何单击事件

双击左键:ClickMouseClickDoubleClickMouseDoubleClick

双击右键:不引发任何单击事件

 

ListView 控件

注意

只有当用户单击 ListView 控件中的项时,才会发生下面详细说明的事件行为。单击控件上的任何其他位置都不会引发任何事件。除下面所描述的事件外,还有 BeforeLabelEdit  AfterLabelEdit 事件,如果要对 ListView 控件进行验证,则您可能会用到这两个事件

单击左键:ClickMouseClick

单击右键:ClickMouseClick

双击左键:ClickMouseClickDoubleClickMouseDoubleClick

双击右键:ClickMouseClickDoubleClickMouseDoubleClick

 

TreeView 控件

注意

只有当用户在 TreeView 控件中单击项本身或项的右侧时,才会发生下面详细说明的事件行为。单击控件上的任何其他位置都不会引发任何事件。除下面描述的事件外,还有 BeforeCheckBeforeSelectBeforeLabelEditAfterSelectAfterCheck AfterLabelEdit 事件,如果要对 TreeView 控件进行验证,则您可能会用到这些事件。

 

单击左键:ClickMouseClick

单击右键:ClickMouseClick

双击左键:ClickMouseClickDoubleClickMouseDoubleClick

双击右键:ClickMouseClickDoubleClickMouseDoubleClick

 

切换控件的绘制行为

切换控件(如从 ButtonBase 类派生的控件)具有以下与鼠标单击事件相结合的独特绘制行为:

用户按鼠标按钮。

该控件以按下状态进行绘制。

引发 MouseDown 事件。

用户释放鼠标按钮。

该控件以凸起状态进行绘制。

引发 Click 事件。

引发 MouseClick 事件。

引发 MouseUp 事件。

注意

如果用户在鼠标按钮处于按下状态时,将鼠标指针移出切换控件(例如,当鼠标按钮处于按下状态时将鼠标从 Button 控件中移出),则该切换控件将以凸起状态进行绘制,且只发生 MouseUp 事件。在这种情况下,Click  MouseClick 事件将不会发生。

posted on   风过 无痕  阅读(10375)  评论(0编辑  收藏  举报

(评论功能已被禁用)
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2007-07-12 google earth 二次开发

导航

统计

向日葵支付宝收钱码
点击右上角即可分享
微信分享提示