Winform3、事件触发机制学习:事件的注册和定义

在一个Form窗体中拖个按钮,双击后系统自动生成代码:

// 定义事件,一般在Form.cs文件
// 默认事件是有命名规范的,控件命_事件名_个数(1个可省略)
private void button_Click( object sender ,EventArgs e)
{//事件详细操作
}

同时在窗体的InitializeComponent( )方法中自动生成代码

// 注册事件(声明委托),一般在Form1.Designer.cs
this.button1.Click += new System.EventHandler( this.button1_Click);

如果是手动写事件,一定要记得去Form1.Designer.cs 给相应控件注册事件

当Form程序运行起来后点击按钮时,就会触发按钮的Click事件,并通过委托System.EventHandler来实现对 button1_Click( object sender , EventArgs e) 方法的调用。


参数含义

在WinForm中我们经常需要给控件添加事件。例如给一个Button按钮添加一个Click点击事件。给TextBox文本框添加一个KeyPress 键盘按下事件。通过强大的IDE,双击控件就能直接添加一个该控件默认的事件。

private void btnError_Click(object sender, EventArgs e)
{//some codes here.
}

双击Button,自动生成的是Click事件,事件的命名是控件名字加下划线加操作名字命名的。该事件还有两个参数,一个是object类型的sender,还有一个是EventArgs类型的e。

从英文意思来看sender和e这两个参数:

sender:发送者

EventArgs:事件参数 (EventArguments)

object:对象,基类

sender参数用于传递指向事件源对象的引用。简单来讲就是当前的对象。例如button的点击事件,那么这个sender就代表这个button自己。

private void btnError_Click(object sender, EventArgs e)
{//获取当前点击的ButtonButton thisClickedButton = sender as Button;
}

由于sender指的是事件源对象,sender是object类型,用的时候记得转一下类型才可以用。

e参数是是EventArgs类型。简单来理解就是记录事件传递过来的额外信息。一般用于传递用户点击的位置啊,键盘按下的键等事件的额外信息。例如TextBox中有一个KeyPress事件。

 private void inputTextBox_KeyPress(object sender, KeyPressEventArgs e){//获取当前对象TextBox tb = sender as TextBox;//获取当前按下来的键值char c = e.KeyChar;}

在事件里可以通过e点出来,不过不同的事件传递的信息也会不同。

Winform3、事件触发机制学习:事件的注册和定义和参数含义相关推荐

  1. python制作界面怎么触发事件_python模拟事件触发机制详解

    本文实例为大家分享了python模拟事件触发机制的具体代码,供大家参考,具体内容如下 EventManager.py # -*- encoding: UTF-8 -*- # 系统模块 from que ...

  2. python事件触发机制_python模拟事件触发机制详解

    本文实例为大家分享了python模拟事件触发机制的具体代码,供大家参考,具体内容如下 EventManager.py # -*- encoding: UTF-8 -*- # 系统模块 from que ...

  3. htmljavascript 事件触发机制

    html 事件触发机制 <!DOCTYPE html> <html> <head><meta charset="UTF-8">< ...

  4. ANDROID事件触发机制

    本文来自:安卓航班网 ANDROID事件触发机制 首先,这篇文章仅仅针对于由于触摸(Touch)而触发的事件. Android的事件:onClick, onScroll, onFling等等,都是由许 ...

  5. 事件触发控制_基于事件触发机制的直流微电网多混合储能系统分层协调控制方法...

    点击下面标题,了解通知详情第九届电工技术前沿问题学术论坛征文通知 华北电力大学电气与电子工程学院的研究人员郭伟.赵洪山,在2020年第5期<电工技术学报>上撰文,以含有多个混合储能系统(H ...

  6. JavaScript之事件触发on和事件监听addEvent及addEventListener的区别和作用

    一.on事件 为dom节点添加多个on事件只会执行最后的那个事件,因为最后的指定的on事件指向最后的那个函数,代码如下所示: function method1(){console.log('我是方法1 ...

  7. python事件触发机制_Python3-事件驱动、IO模型和触发方式

    事件驱动模型 传统编程线性模型 开始 ----> 代码块A ---->代码块B ---->代码块C ...... 结束 每个代码块都有各自实现的功能,按照条件语句顺序判断执行,每一次 ...

  8. JS:关于事件触发机制

    事件触发经历三个阶段 捕获阶段->目标阶段->冒泡阶段 事件捕获:从外层一层一层往内部直至传递到目标元素: 事件冒泡:从目标元素开始一层层向外传递至根节点: DOM事件流,是先调用捕获阶段 ...

  9. Mina IoHandler 事件触发机制

    原文地址:Mina IoHandler(Apache Mina user guide Chapter8 Handler) 所有处理I / O事件都由Mina触发.接口所有活动中心的完成,都在过滤器链结 ...

最新文章

  1. 靠谱测试人员需要具备BUG洞察能力
  2. Python机器学习全流程项目实战精讲(2018版)
  3. 4-1 ADO.NET简介 4
  4. 如何在form初始化时自动隐藏FOLDER列
  5. jQuery匹配各种条件的选择器用法
  6. 关于struts框架的优缺点
  7. 从单个静止图像进行 3d 深度重建(论文2007)
  8. matlab 仿真wsn,wsn仿真matlab
  9. wps2019怎么调整字间距_wps2019表格和文字间距太大怎么调整?
  10. pdf签名无效解决办法_我花了一整天测试了20+款PDF工具,进来评评谁是MVP
  11. DevOps元素周期表
  12. Android 最常用的设计模式八 安卓源码分析—工厂方法模式factory
  13. csgo显示服务器ip,csgo躲猫猫服务器ip地址 躲猫猫服务器2016
  14. 深度学习超分辨率综述阅读笔记(翻译)
  15. 国密:SM2公私钥加签验签
  16. JQuery的属性操作及事件
  17. mybatis按姓名或手机号搜索
  18. 它号称 Python 中性能最高的异步 Web 框架:超详细 Sanic 入门指南!
  19. 德勤全球智慧城市2.0报告发布!
  20. 独自一人,怒发AI顶会论文

热门文章

  1. freeswitch 电话拨通听不到对方声音
  2. 新车上了牌还不算完,这些物品车上必备,关键时可救命!
  3. 在课堂教学中利用计算机,微视频在计算机教学中的运用论文
  4. 在个股回测中,如何才能避开新股的一字涨停?
  5. DirectX学习资料汇总
  6. 上传 mp3,mp4文件
  7. 用HTML语言写一段坦克大战小游戏
  8. 被‘帕金森定律’命中的一周
  9. 关于Android中将PCM转AMR的问题探讨
  10. Java写一个复数类并进行加法操作