sender是事件源 就是指发起这个事件的对象(控件)
//表示触发事件的那个控件
比如说你按下按钮,那么sender就是按钮

又如:textboxchange,sender就是该textbox,在事件处理中就可以用sender代替textbox.   
  如:

  (sender   as   TextBox).Text="fdsaewfsda";   

如果同一类控件处理方法相同,可以只写一个事件处理,其他的用这一个就行了sender就会指代当前触发事件的控件

EventArgs是事件参数
//该事件传入的参数,比如说你用鼠标点击窗体
那么EventArgs是会包含点击的位置等等参数
它用来辅助你处理事件

在日常开发中,大多数控件都需要写触发函数,而触发函数中的两个参数 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);
}
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());
}
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)的更多相关文章

  1. C#之winform基础 button1_Click(object sender, EventArgs e)中sender是啥及其用法

    镇场诗:          大梦谁觉,水月中建博客.百千磨难,才知世事无常.          今持佛语,技术无量愿学.愿尽所学,铸一良心博客.---------------------------- ...

  2. 委托与事件代码详解与(Object sender,EventArgs e)详解

    委托与事件代码详解 using System;using System.Collections.Generic;using System.Text; namespace @Delegate //自定义 ...

  3. checkBox1_CheckedChanged(object sender, EventArgs e)和checkBox1_CheckStateChanged(object sender, EventArgs e)不同

    using System; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms ...

  4. C# 函数参数object sender, EventArgs e

    object sender:表示触发事件的控件对象EventArgs e:表示事件数据的类的基类 Windows程序有一个事件机制.用于处理用户事件. 在WinForm中我们经常需要给控件添加事件.例 ...

  5. 浅析C# 中object sender与EventArgs e (转)

    一.了解C#中的预定义事件处理机制    在写代码前我们先来熟悉.net框架中和事件有关的类和委托,了解C#中预定义事件的处理. EventArgs是包含事件数据的类的基类,用于传递事件的细节. Ev ...

  6. WinForm事件中的Object sender和EventArgs e参数

    Windows程序有一个事件机制.用于处理用户事件. 在WinForm中我们经常需要给控件添加事件.例如给一个Button按钮添加一个Click点击事件.给TextBox文本框添加一个KeyPress ...

  7. Visual Studio2013应用笔记---WinForm事件中的Object sender和EventArgs e参数

    Windows程序有一个事件机制.用于处理用户事件. 在WinForm中我们经常需要给控件添加事件.例如给一个Button按钮添加一个Click点击事件.给TextBox文本框添加一个KeyPress ...

  8. object sender ,EventArs e

    引用:http://blog.csdn.net/kongbai308416350/article/details/4233786 说的通俗一些,就是: 有一个叫做EventHandler 的家伙,他会 ...

  9. (object sender,EventArgs e)是什么?

    object sender:发出事件的对象 EventArgs e:对象中的数据

随机推荐

  1. SQLServer2008设置 开启远程连接

    SQLServer2008设置 开启远程连接 前一段时间,学生分组做项目,使用SVN工具,要求功能使用存储过程,在数据库这块出现这么一个问题: A学生在他的数据库上添加了存储过程,需要其他的B,C,D ...

  2. asp.net mvc 多级文件夹

    ASP.NET MVC - 定制属于你自己的ViewEngine 标签: asp.netmvcstring引擎razorapplication 2012-07-26 14:17 5365人阅读 评论( ...

  3. Android笔记:HTTP相关

    发送HTTP请求 HttpURLConnection.HttpClient XML解析 Pull 解析.SAX 解析.DOM 解析 解析JSON 格式数据 官方提供的JSONObject.谷歌的开源库 ...

  4. [Android Pro] 常用的android工具类和库

    reference to  : http://blog.csdn.net/lovexieyuan520/article/details/50614086 这篇博客主要记录我认为比较有用的Android ...

  5. javascript 核心语言笔记- 3 - 类型、值和变量

    JavaScript 中的数据类型分为两类:原始类型(primitive type)和对象类型(object type).原始类型包括数字.字符串和布尔值 JavaScript 中有两个特殊的原始值: ...

  6. php 总结第一篇(望大家补充!谢谢)

    /* 数组的常用函数 * * 数组的排序函数 *   sort() *   rsort() *   usort() *   asort() *   arsort() *   uasort() *   ...

  7. Power BI的一些视频演示资源

    Power BI作为Self Service BI的方案,得到了人们的广泛关注.Power BI里的大多数组件目前还都是预览版的阶段,但是我们已经可以从powerbi.com网站下体验到其相当给力的一 ...

  8. [Java 基础]sun.misc.Unsafe

    使用Unsafe可以干一些好事. Unsafe对象初始化 如果你的代码属于trusted的,可以直接使用下面的方式: public static Unsafe getUnsafe() { Class ...

  9. myeclipse 破解

    Myeclipse 2014 破解补丁,首先需要先下载 Myeclipse 2014 官方安装文件,下载地址 http://www.jb51.net/softs/150886.html,然后下载此补丁 ...

  10. Entity Framework 实体框架的形成之旅--实体数据模型 (EDM)的处理(4)

    在前面几篇关于Entity Framework 实体框架的介绍里面,已经逐步对整个框架进行了一步步的演化,以期达到统一.高效.可重用性等目的,本文继续探讨基于泛型的仓储模式实体框架方面的改进优化,使我 ...