-
c#教程之鼠标事件
本站最新发布 Python从入门到精通|Python基础教程
试听地址 https://www.xin3721.com/eschool/
l MouseDown:如果鼠标位于控件区域,按下鼠标按键时产生该事件。
l MouseUp:如果鼠标位于控件区域,抬起鼠标按键时产生该事件。
l MouseMove:如果鼠标在控件区域移动,产生该事件。
l MouseEnter:鼠标进入控件区域,产生该事件。
l MouseLeave:鼠标离开控件区域,产生该事件。
鼠标事件处理函数一般有两个参数,第一个参数(object sender)是产生该事件的对象的属性Name的值,例如,为Form1的MouseDown事件增加事件函数,单击Form1,第一个参数sender代表Form1对象。(System.Windows.Forms.MouseEventArgs e)是事件处理函数第二个参数,代表事件的一些信息,事件不同,所代表的信息也不相同,鼠标按下事件处理函数中,e.X为发生事件时鼠标位置的x坐标,e.Y为发生事件时鼠标位置的y坐标,e.Button为MouseButtons.Left,表示单击了鼠标左键等等,Right和Middle则分别代表右键和中间键。e.Clicks为鼠标单击的次数,如果大于2次,则为双击。
例子e3_20:在窗体中的指定区域,双击鼠标左键,用Label控件显示双击鼠标的位置。指定区域的左上角坐标为(20,20),宽为200,高为200。
(1) 建立一个新项目。放Label控件到窗体。属性Name=label1。
(2) Panel控件可以将窗体分为多个区域。放Panel控件到窗体,属性Location.X=20,Location.Y=20,属性Width=200,Height=200,属性Name=p1。
(3) 为Panel的MouseDown事件增加事件函数如下:
private void p1_MouseDown(object sender,System.Windows.Forms.MouseEventArgs e)
{ if(e.Button==MouseButtons.Left&&e.Clicks>1)//如果是双击左键
label1.Text="X:"+e.X.ToString()+",Y:"+e.Y.ToString();
}
(4) 编译,运行,分别在指定区域和区域外双击鼠标左键,看一下效果。分别在指定区域和区域外双击鼠标右键,看一下效果。
试听地址 https://www.xin3721.com/eschool/
3.1 鼠标事件
从类System.Windows.Forms.Control派生的控件都有鼠标事件,控件的Click事件本质上也是鼠标事件。一些控件还有单独的鼠标事件,例如Form。鼠标事件有:l MouseDown:如果鼠标位于控件区域,按下鼠标按键时产生该事件。
l MouseUp:如果鼠标位于控件区域,抬起鼠标按键时产生该事件。
l MouseMove:如果鼠标在控件区域移动,产生该事件。
l MouseEnter:鼠标进入控件区域,产生该事件。
l MouseLeave:鼠标离开控件区域,产生该事件。
鼠标事件处理函数一般有两个参数,第一个参数(object sender)是产生该事件的对象的属性Name的值,例如,为Form1的MouseDown事件增加事件函数,单击Form1,第一个参数sender代表Form1对象。(System.Windows.Forms.MouseEventArgs e)是事件处理函数第二个参数,代表事件的一些信息,事件不同,所代表的信息也不相同,鼠标按下事件处理函数中,e.X为发生事件时鼠标位置的x坐标,e.Y为发生事件时鼠标位置的y坐标,e.Button为MouseButtons.Left,表示单击了鼠标左键等等,Right和Middle则分别代表右键和中间键。e.Clicks为鼠标单击的次数,如果大于2次,则为双击。
例子e3_20:在窗体中的指定区域,双击鼠标左键,用Label控件显示双击鼠标的位置。指定区域的左上角坐标为(20,20),宽为200,高为200。
(1) 建立一个新项目。放Label控件到窗体。属性Name=label1。
(2) Panel控件可以将窗体分为多个区域。放Panel控件到窗体,属性Location.X=20,Location.Y=20,属性Width=200,Height=200,属性Name=p1。
(3) 为Panel的MouseDown事件增加事件函数如下:
private void p1_MouseDown(object sender,System.Windows.Forms.MouseEventArgs e)
{ if(e.Button==MouseButtons.Left&&e.Clicks>1)//如果是双击左键
label1.Text="X:"+e.X.ToString()+",Y:"+e.Y.ToString();
}
(4) 编译,运行,分别在指定区域和区域外双击鼠标左键,看一下效果。分别在指定区域和区域外双击鼠标右键,看一下效果。
最新更新
python中装饰器修复技术
python中filter、map、reduce的区别
python爬虫--cookie反爬处理
Python 模拟 Base64编码
证明task线程是来源于线程池的,线程重用
Python基础总结之第一天(新手可相互督促
Django:web认识,jinja2模块,如何安装Djang
tcp服务端无线为多个客户端服务
python自动化测试之DDT数据驱动
python输出九九乘法表
基于UDP的服务器端和客户端
再谈UDP和TCP
在socket编程中使用域名
网络数据传输时的大小端问题
socket编程实现文件传输功能
如何优雅地断开TCP连接?
图解TCP四次握手断开连接
详细分析TCP数据的传输过程
图解TCP数据报结构以及三次握手(非常详
TCP协议的粘包问题(数据的无边界性)
存储过程用法
MySQL教程之SQL ORDER BY 子句
MySQL教程之SQL AND & OR 运算符
MySQL教程之SQL WHERE 子句
MySQL教程之SQL SELECT DISTINCT 语句
MySQL教程之SQL SELECT 语句
MySQL教程之SQL语法
MySQL教程之SQL 简介
MySQL教程之MySQL之pymysql
MySQL教程之mysql设置不区分大小写