c#在程序中定義和使用自定義事件的方法

小編給大家分享一下c#在程序中定義和使用自定義事件的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

成都創新互聯公司是一家專注于成都網站建設、網站建設與策劃設計,泰和網站建設哪家好?成都創新互聯公司做網站,專注于網站建設十年,網設計領域的專業建站公司;建站業務涵蓋:泰和等地區。泰和做網站價格咨詢:13518219792

C#在程序中定義和使用自定義事件的步驟有:首先在類中定義事件,然后再定義事件的參數,在TestClass中來引發事件最后使用事件

c#在程序中定義和使用自定義事件的方法

C#在程序中定義和使用自定義事件可以分為以下幾個步驟:

步驟1:在類中定義事件

using System;
public class TestClass
{
    //....
    public event EventHandler TestEvent
}

步驟2:定義事件參數

注意:事件參數類TestEventArgs繼承自System.EventArgs

using System;
public class TestEventArgs : EventArgs
{
    public TestEventArgs() : base() { }
 
    public string Message { get; set; }
}

步驟3:在TestClass 引發事件

public class TestClass
{
    // 這個方法引發事件
    public void RaiseTestEvent(string message)
    {
        if (TestEvent == null) return;
        TestEvent(this, new TestEventArgs { Message = message });
    }
    public event EventHandler TestEvent; 
}

步驟4:使用事件

class Program
{
    static void Main(string[] args)
    {
 
        TestClass tc = new TestClass();
        // 掛接事件處理方法
        tc.TestEvent += Tc_TestEvent;
         
        Console.WriteLine("按任意鍵引發事件");
        Console.ReadKey();        
        // 引發事件
        tc.RaiseTestEvent("通過事件參數傳遞的字符串");
         
        Console.WriteLine("按任意鍵退出");
        Console.ReadKey();
    }
    private static void Tc_TestEvent(object sender, EventArgs e)
    {
        // 將事件參數強制轉換為TestEventArgs
        TestEventArgs te = (TestEventArgs)e;
        // 顯示事件參數中的Message
        Console.WriteLine(te.Message);
    }
}

完整的程序如下

using System;
public class TestClass
{
    public void RaiseTestEvent(string message)
    {
        if (TestEvent == null) return;
        TestEvent(this, new TestEventArgs { Message = message });
    }
 
    public event EventHandler TestEvent; 
}
public class TestEventArgs : EventArgs
{
    public TestEventArgs() : base() { }
 
    public string Message { get; set; }
}
class Program
{
    static void Main(string[] args)
    {
 
        TestClass tc = new TestClass();
        tc.TestEvent += Tc_TestEvent;
        Console.WriteLine("按任意鍵引發事件");
        Console.ReadKey();
        tc.RaiseTestEvent("通過事件參數傳遞的字符串");
        Console.WriteLine("按任意鍵退出");
        Console.ReadKey();
    }
    private static void Tc_TestEvent(object sender, EventArgs e)
    {
        TestEventArgs te = (TestEventArgs)e;
        Console.WriteLine(te.Message);
    }
}

看完了這篇文章,相信你對c#在程序中定義和使用自定義事件的方法有了一定的了解,想了解更多相關知識,歡迎關注創新互聯行業資訊頻道,感謝各位的閱讀!

網站標題:c#在程序中定義和使用自定義事件的方法
文章地址:http://m.kartarina.com/article18/jecdgp.html

成都網站建設公司_創新互聯,為您提供軟件開發網站設計公司定制網站關鍵詞優化Google搜索引擎優化

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站建設網站維護公司
主站蜘蛛池模板: 中文字幕精品无码久久久久久3D日动漫 | 无码高潮爽到爆的喷水视频app| 亚洲人成人无码.www石榴| 国产乱人伦Av在线无码| 国产在线拍揄自揄拍无码| 国产成人无码精品久久久性色 | 亚洲中文字幕无码av在线| 亚洲最大av资源站无码av网址| 日韩免费a级毛片无码a∨| 天堂Aⅴ无码一区二区三区| 久久无码人妻一区二区三区| 久久久久久亚洲精品无码| 国产精品视频一区二区三区无码| 少妇无码一区二区三区| 无码8090精品久久一区| 高h纯肉无码视频在线观看| 无码中文字幕av免费放| 亚洲av成人无码久久精品| 精品无码黑人又粗又大又长| 无码伊人66久久大杳蕉网站谷歌| 色欲AV无码一区二区三区| 无码视频一区二区三区在线观看| 无码av中文一区二区三区桃花岛| 亚洲AⅤ永久无码精品AA| 久久亚洲AV无码精品色午夜麻 | 免费A级毛片无码A∨免费| 无码毛片一区二区三区中文字幕| 人妻精品久久无码专区精东影业| 亚洲v国产v天堂a无码久久| av潮喷大喷水系列无码| 亚洲AV中文无码字幕色三| 亚洲成?Ⅴ人在线观看无码| 亚洲国产精品无码久久九九大片| 午夜人性色福利无码视频在线观看| 无码av不卡一区二区三区| 妖精色AV无码国产在线看| 无码h黄肉3d动漫在线观看| 精品久久久久久无码人妻中文字幕| 久久男人Av资源网站无码软件| 亚洲日韩激情无码一区| 国产亚洲情侣一区二区无码AV |