zoukankan      html  css  js  c++  java
  • 关于(object sender, EventArgs e)

    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);   

    转自:https://www.cnblogs.com/qingtaong/archive/2012/08/07/2626098.html

  • 相关阅读:
    Java实现 蓝桥杯VIP 基础练习 回形取数
    Java实现 蓝桥杯VIP 基础练习 回形取数
    Java实现 蓝桥杯VIP 基础练习 回形取数
    Java实现 蓝桥杯VIP 基础练习 回形取数
    Java实现 蓝桥杯VIP 基础练习 报时助手
    Java实现 蓝桥杯VIP 基础练习 报时助手
    Java实现 蓝桥杯VIP 基础练习 报时助手
    Java实现 蓝桥杯VIP 基础练习 报时助手
    Java实现 蓝桥杯VIP 基础练习 报时助手
    block的是发送信号的线程,又不是处理槽函数的线程
  • 原文地址:https://www.cnblogs.com/sunice/p/9224924.html
Copyright © 2011-2022 走看看