小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

關(guān)于(object sender, EventArgs e)

 flygege 2012-04-26

sender是事件源 就是指發(fā)起這個(gè)事件的對象(控件)
//表示觸發(fā)事件的那個(gè)控件
比如說你按下按鈕,那么sender就是按鈕

又如:textboxchange,sender就是該textbox,在事件處理中就可以用sender代替textbox.  
  如:  
  (sender   as   TextBox).Text="fdsaewfsda";  
  如果同一類控件處理方法相同,可以只寫一個(gè)事件處理,其他的用這一個(gè)就行了sender就會指代當(dāng)前觸發(fā)事件的控件  

EventArgs是事件參數(shù)
//該事件傳入的參數(shù),比如說你用鼠標(biāo)點(diǎn)擊窗體
那么EventArgs是會包含點(diǎn)擊的位置等等參數(shù)
它用來輔助你處理事件

在日常開發(fā)中,大多數(shù)控件都需要寫觸發(fā)函數(shù),而觸發(fā)函數(shù)中的兩個(gè)參數(shù) 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" />

在上面的程序中設(shè)計(jì)了三個(gè)Button控件,他們點(diǎn)擊后觸發(fā)的函數(shù)都為Button_OnClick;那么我如何分辨出到底是哪一個(gè)Button進(jìn)行了點(diǎn)擊呢,就要用到觸發(fā)函數(shù)中的參數(shù)來判斷。

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

這時(shí),我將類型為object的sender變量進(jìn)行轉(zhuǎn)型為Button后,就可以通過他的ID屬性來判斷。

另一個(gè)例子:

<asp:ImageButton ID="ImageButton1" runat="server" OnClick="ImageButton_OnClick" />

我設(shè)計(jì)了一個(gè)ImageButton控件,進(jìn)行點(diǎn)擊操作時(shí)觸發(fā)的函數(shù)為ImageButton_OnClick;

protected void Button_OnClick(object sender, ImageClickEventArgs e)  
{  
    Response.Write("X坐標(biāo):"+e.X.ToString());  
    Response.Write("Y坐標(biāo):"+e.Y.ToString());  

    protected void Button_OnClick(object sender, ImageClickEventArgs e)
    {
        Response.Write("X坐標(biāo):"+e.X.ToString());
        Response.Write("Y坐標(biāo):"+e.Y.ToString());
    }

這時(shí),我在圖片上任意地方點(diǎn)擊后,就會顯示出點(diǎn)擊時(shí)的X,Y坐標(biāo)。

但是,參數(shù)e經(jīng)常是與控件的CommandName與CommandArgument屬性綁定起來進(jìn)行傳參的。

他們所要觸發(fā)的相應(yīng)操作是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);  

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多