码迷,mamicode.com
首页 > Windows程序 > 详细

c# Winform Control 快速入门基本事件

时间:2019-12-28 16:38:45      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:ctrl   控件   orm   img   需要   显示   循环   接受   win   

对于桌面应用,归类总结一下最常用的事件

一 鼠标移动事件

 用户行为:鼠标移入控件又移出控件

 

 技术图片

鼠标在控件外侧,准备移入控件,无事件

 

技术图片

移入控件边界,接受到 MouseEnter 事件

 

技术图片

 

移入之后,接收到 MouseMove 事件,事件不停的发送,一旦cursor变换,发送 MouseHover 事件

 

技术图片

鼠标在控件内部移动,不停的发送 MouseMove 事件

 

技术图片

鼠标移出到控件边界,发送 MouseLeave 事件

 

技术图片

移出后无事件

 

二 鼠标点击事件

用户行为:在控件内部,点击一下

 

技术图片

在控件内部按下鼠标左键,MouseDown 事件

 

技术图片

在控件内部任意位置,松开鼠标左键,先发 Click 再发 MosueClick 事件,然后发 MouseUp 事件

技术图片

在控件外部位置,松开鼠标左键,只有 MouseUp 事件

 

PS:在同一位置,双击鼠标:

第一次点击:MouseDown -> Click -> MouseClick -> MouseUp

第二次点击:MouseDown -> DoubleClick -> MouseDoubleClick -> MouseUp

 

三 键盘事件

用户行为:在控件内部,按下键盘上的某个键,然后又松开

技术图片

技术图片

在键盘上按下A,不松开,事件顺序 KeyDown -> KeyPress -> KeyDown -> KeyPress ... 如此循环下去

松开键盘上的A,发 KeyUp 事件

 

按下 Ctrl + A, 会有两轮事件:

KeyDown(Ctrl) -> KeyDown(A) -> KeyPress -> KeyUp(A) -> KeyUp(Ctrl)

 

四 焦点事件

技术图片

点击文本框,光标开始在文本框内不停的闪烁,触发一次 GotFocus 事件

在下面的任务栏上,点击应用程序图标,导致整个程序最小化 LostFocus,再点击一次图标,又显示出程序, GotFocus

点击其他应用程序 LostFocus,再显示 GotFocus

 

五 拖拽事件

技术图片

 

前提:TextBox AllowDrop 属性需要设置成 true

 

把一个文件拖拽进入控件时,发生如下顺序

刚拖入控件内部, DragEnter    (这时候可以设置Cursor,方法是 e.Effect = DragDropEffects.Move;)

在控件內部移动,DragMove

最终再控件内部松开,DragDrop,在外部松开 DragLeave

c# Winform Control 快速入门基本事件

标签:ctrl   控件   orm   img   需要   显示   循环   接受   win   

原文地址:https://www.cnblogs.com/chenyingzuo/p/12111736.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!