最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#事件中關(guān)于sender的用法解讀

 更新時間:2022年09月09日 11:24:14   作者:Rhine404  
這篇文章主要介紹了C#事件中關(guān)于sender的用法解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

C#事件sender的小用法

開WPF新坑了,看了WPF的炫酷界面,再看看winForm實在是有些慘不忍睹(逃)。后面會開始寫一些短的學習筆記。

一、什么是sender

sender最常見到的情況就是下圖參數(shù)列表中的這個了…可能平時沒多少注意。

private void Button_Click(object sender, RoutedEventArgs e)
{
    //……blahblahblah
}

sender我們很容易猜到肯定是例子中觸發(fā)單擊事件的那個button控件,它類型是object。C#里的繼承關(guān)系是所有類的基類,萬物基于object(滑稽),所以控件同樣也是繼承與object的,所以將sender進行類型轉(zhuǎn)換就能直接得到觸發(fā)事件的控件對象。

private void Button_Click(object sender, RoutedEventArgs e)
{
    Button btn = (Button)sender;
    btn.Content = "我被點擊了";
}

將sender 進行類型轉(zhuǎn)換后,就能夠直接對button1的屬性進行更改,所以 sender是當前 觸發(fā)事件的控件。

二、小用法

知道了sender是什么后,我們就可以開始加以小小的應用了。

我首先想到的就是,當有多個控件需要觸發(fā)相同的事件時,使用sender來獲取當前觸發(fā)事件的控件,可以在同一個方法中進行事件的響應,能夠使代碼的重用性提高,也能更簡潔

下面用一個小小的例子來解釋(當然這個只是我暫時先想到的應用)。

界面很簡單,按照以往的設(shè)計習慣,需要將兩個button的單擊事件分開來寫,彈出是誰被點擊的提示。而現(xiàn)在可以利用sender實現(xiàn)只用一個button_Click事件,就可以顯示是誰被點擊了。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
 
namespace WPFLittleTips
{
    /// 
    /// MainWindow.xaml 的交互邏輯
    /// 
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
 
        private void btnObj1_Click(object sender, RoutedEventArgs e)
        {
            Button btn = (Button)sender;
            if(btn == btnObj1)
            {
                MessageBox.Show("Btn1 被點擊了");
            }
            else
            {
                MessageBox.Show("Btn2 被點擊了");
            }
        }
    }
}

單擊后的效果應該都能想到了,就不貼圖了。

應該sender 的應用還很多,突然發(fā)現(xiàn)以前都沒有注意到的小東西,利用起來還是很有用的。

C#事件中sender和e參數(shù)的理解

  • sender是事件源,表示觸發(fā)事件的那個組件,比如說你按下按鈕,那么sender就是按鈕
  • EventArgs是事件參數(shù),比如說你用鼠標點擊窗體,那么EventArgs是會包含點擊的位置等等,它用來輔助你處理事件。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C#實現(xiàn)繪制浮雕圖片效果實例

    C#實現(xiàn)繪制浮雕圖片效果實例

    這篇文章主要介紹了C#實現(xiàn)繪制浮雕圖片效果實例,是C#程序設(shè)計中非常實用的一個功能,需要的朋友可以參考下
    2014-08-08
  • C#實現(xiàn)websocket雙向通信的示例代碼

    C#實現(xiàn)websocket雙向通信的示例代碼

    本文基于WebSocketSharp實現(xiàn)了websocket雙向通信,除基本的客戶端向服務端發(fā)送消息外,也支持客戶端向指定的客戶端發(fā)送消息、群發(fā)消息,其他協(xié)議可自定義,廢話不多說,直接上干貨,需要的朋友可以參考下
    2024-06-06
  • C#編寫的生辰八字計算程序

    C#編寫的生辰八字計算程序

    這篇文章主要介紹了C#編寫的生辰八字計算程序,假設(shè)一個人的公歷出生時間,范圍必須要在2012-2015年之間,因為本示例程序只提供了這幾年的農(nóng)歷數(shù)據(jù),小伙伴們參考下,可以自由擴展
    2015-03-03
  • Unity常用音頻操作類示例代碼

    Unity常用音頻操作類示例代碼

    這篇文章主要介紹了Unity常用音頻操作類,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-07-07
  • 基于WPF實現(xiàn)PDF的顯示與轉(zhuǎn)換

    基于WPF實現(xiàn)PDF的顯示與轉(zhuǎn)換

    這篇文章為大家詳細主要介紹了如何基于WPF實現(xiàn)PDF的顯示并轉(zhuǎn)換成圖片,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-12-12
  • C#檢測是否有危險字符的SQL字符串過濾方法

    C#檢測是否有危險字符的SQL字符串過濾方法

    這篇文章主要介紹了C#檢測是否有危險字符的SQL字符串過濾方法,功能非常實用,對于程序設(shè)計的安全來說至關(guān)重要!需要的朋友可以參考下
    2014-07-07
  • C#控制臺程序的開發(fā)與打包為一個exe文件實例詳解

    C#控制臺程序的開發(fā)與打包為一個exe文件實例詳解

    所謂控制臺程序,就是沒有界面,運行程序后只有一個黑色的類似cmd窗口,通過這個窗口進行交互,下面這篇文章主要給大家介紹了關(guān)于C#控制臺程序的開發(fā)與打包為一個exe文件的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • C#仿QQ實現(xiàn)簡單的截圖功能

    C#仿QQ實現(xiàn)簡單的截圖功能

    這篇文章主要為大家詳細介紹了如何利用C#語言模擬QQ實現(xiàn)屏幕選擇區(qū)域截圖功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-08-08
  • WPF實現(xiàn)鐘表效果

    WPF實現(xiàn)鐘表效果

    這篇文章主要為大家詳細介紹了WPF實現(xiàn)鐘表效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • C#面向?qū)ο筇卣鞯木唧w實現(xiàn)及作用詳解

    C#面向?qū)ο筇卣鞯木唧w實現(xiàn)及作用詳解

    所有的面相對象思想,歸根結(jié)底是為了簡化代碼,減少代碼量,構(gòu)建更符合現(xiàn)實生活邏輯的程序代碼,從而減輕程序員的負擔。不能一味地或者說刻意地去使用面相對象的思想而忽略了程序所實現(xiàn)的功能或者框架,要根據(jù)實際情況
    2013-10-10

最新評論

张家界市| 河池市| 和静县| 南雄市| 桦甸市| 楚雄市| 武强县| 剑阁县| 石楼县| 玉环县| 久治县| 韶山市| 正阳县| 兴宁市| 临澧县| 南城县| 八宿县| 五家渠市| 桐庐县| 博爱县| 南陵县| 张家港市| 汉中市| 乐安县| 东至县| 沿河| 金堂县| 瑞金市| 上杭县| 呼伦贝尔市| 钦州市| 芮城县| 南充市| 南皮县| 新化县| 兴城市| 襄樊市| 琼结县| 根河市| 信丰县| 连州市|