C# 函数参数object sender, EventArgs e
object sender:表示触发事件的控件对象
EventArgs e:表示事件数据的类的基类
Windows程序有一个事件机制。用于处理用户事件。
在WinForm中我们经常需要给控件添加事件。例如给一个Button按钮添加一个Click点击事件。给TextBox文本框添加一个KeyPress 键盘按下事件。通过强大的IDE,双击控件就能直接添加一个该控件默认的事件。
1
2
3
4
|
private void btnError_Click( object sender, EventArgs e) { //some codes here. } |
双击Button,自动生成的是Click事件,事件的命名是控件名字加下划线加操作名字命名的。该事件还有两个参数,一个是object类型的sender,还有一个是EventArgs类型的e。
从英文意思来看sender和e这两个参数:
sender:发送者
EventArgs:事件参数 (EventArguments)
Aggument:论点
object:对象,基类
sender参数用于传递指向事件源对象的引用。简单来讲就是当前的对象。例如button的点击事件,那么这个sender就代表这个button自己。
private void btnError_Click(object sender, EventArgs e) { //获取当前点击的Button Button 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点出来,不过不同的事件传递的信息也会不同。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架