关于(object sender, EventArgs e)
在日常开发中,大多数控件都需要写触发函数,而触发函数中的两个参数 sender 和 e 的作用,就不容小视。
看下面的例子:
<asp:Button ID="Button1" runat="server" Text="Button1" OnClick="Button_OnClick" />
<asp:Button ID="Button2" runat="server" Text="Button2" OnClick="Button_OnClick" />
<asp:Button ID="Button3" runat="server" Text="Button3" OnClick="Button_OnClick" />
在上面的程序中设计了三个Button控件,他们点击后触发的函数都为Button_OnClick;那么我如何分辨出到底是哪一个Button进行了点击呢,就要用到触发函数中的参数来判断。
protected void Button_OnClick(object sender, EventArgs e) { Button btn = (Button)sender; Response.Write(btn.ID); }
这时,我将类型为object的sender变量进行转型为Button后,就可以通过他的ID属性来判断。
另一个例子:
<asp:ImageButton ID="ImageButton1" runat="server" OnClick="ImageButton_OnClick" />
我设计了一个ImageButton控件,进行点击操作时触发的函数为ImageButton_OnClick;
protected void Button_OnClick(object sender, ImageClickEventArgs e) { Response.Write("X坐标:"+e.X.ToString()); Response.Write("Y坐标:"+e.Y.ToString()); }
这时,我在图片上任意地方点击后,就会显示出点击时的X,Y坐标。
但是,参数e经常是与控件的CommandName与CommandArgument属性绑定起来进行传参的。
他们所要触发的相应操作是OnCommand而不是OnClick操作。
例:
<asp:Button ID="Button1" runat="server" Text="Button1" CommandName="Button1" OnCommand="Button_OnCommand"/>
<asp:Button ID="Button2" runat="server" Text="Button2" CommandName="Button2" OnCommand="Button_OnCommand"/>
<asp:Button ID="Button3" runat="server" Text="Button3" CommandName="Button3" OnCommand="Button_OnCommand" />
protected void Button_OnCommand(object sender, CommandEventArgs e) { Response.Write(e.CommandName); Response.Write(e.CommandArgument); }
此文仅作为抛砖引玉。。。。。
关于(object sender, EventArgs e)相关推荐
- 委托与事件代码详解与(Object sender,EventArgs e)详解
委托与事件代码详解 using System; using System.Collections.Generic; using System.Text; namespace @Delegate //自 ...
- C# 函数参数object sender, EventArgs e
object sender:表示触发事件的控件对象 EventArgs e:表示事件数据的类的基类 Windows程序有一个事件机制.用于处理用户事件. 在WinForm中我们经常需要给控件添加事件. ...
- .net (object sender, EventArgs e) 学习总结
分析.net中的object sender与EventArgs e http://blog.csdn.net/feihu19851111/article/details/7523118 作者同类文章X ...
- C#事件中的两个参数(object sender,EventArgs e)
C#窗体程序有很多的事件,比如按钮点击事件,双击事件,Form_Load事件,这些事件的实现里都有两个参数(object sender,EventArgs e),什么意思呢? 我们新建一个窗体程序,双 ...
- private void button1_Click(object sender, EventArgs e)
private void button1_Click(object sender, EventArgs e) 是一个 C# 中的函数声明. 这个函数是一个事件处理器,当用户点击按钮 button1 时 ...
- 关于后台事件中(object sender, EventArgs e)说明
sender是事件源 就是指发起这个事件的对象(控件) //表示触发事件的那个控件 比如说你按下按钮,那么sender就是按钮 又如:textboxchange,sender就是该textbox,在事 ...
- 浅谈事件处理函数中的参数(object sender, EventArgs e)
(object sender, EventArgs e)是C#常见的事件消息参数,这两个参数具体表示什么意思呢? sender是事件源,表示触发事件的那个组件, 如(button/l ...
- 委托与事件代码详解与(Object sender,EventArgs e)
http://apps.hi.baidu.com/share/detail/30334344 委托与事件代码详解与(Object sender,EventArgs e)详解 2008-02-04 21 ...
- object sender, EventArgs e什么意思
sender的意思是"寄件人,发送机"等,在C#中每点击一个事件自动生成的参数中都有(object sender, EventArgs e),其实sender就是你所关联的控件,可 ...
最新文章
- 2022-2028年中国铁路行业投资分析及前景预测报告(全卷)
- Android开发--Notification和PendingIntent
- 47. Permutations II 1
- 2017南京师范大学计算机学院录取名单,南京师范大学2017年硕士研究生复试成绩及录取名单的通知...
- 实验一 Part 1 开发环境的配置运行
- 王琪你计算机学院,计算机学院“计忆时光”2019元旦联欢会暨年度颁奖典礼圆满举行...
- python excel 提取特定行_Python之从Excel一列内提取数字
- 对话阿里云李飞飞:云原生数据库的时代来了
- php 分表 实战,PHP实战:1亿条数据如何分表100张到Mysql数据库中(PHP)
- 远程桌面中断解决技巧
- NUMA架构下的CPU拓扑
- 1000套精选微信小程序源码
- ES6 模板字符串基本用法
- 移动手机号服务密码重置
- 设置win7一直以管理员身份运行
- Android移动开发基础
- 8266 lua贝壳物联智能开关,更新修正tmr.alarm问题
- 微服务如何聚合 API 文档?这波操作也太秀了
- 语音信号处理初学者概念总结
- samba共享使用端口