c#在程序中定義和使用自定義事件方法總結(jié)
更新時間:2019年03月11日 08:38:34 投稿:laozhang
在本篇文章中小編給大家整理了關(guān)于c#在程序中定義和使用自定義事件方法總結(jié)相關(guān)知識點,需要的朋友們學習下。
C#在程序中定義和使用自定義事件可以分為以下幾個步驟:
步驟1:在類中定義事件
using System;
public class TestClass
{
//....
public event EventHandler TestEvent
}
步驟2:定義事件參數(shù)
注意:事件參數(shù)類TestEventArgs繼承自System.EventArgs
using System;
public class TestEventArgs : EventArgs
{
public TestEventArgs() : base() { }
public string Message { get; set; }
}
步驟3:在TestClass 引發(fā)事件
public class TestClass
{
// 這個方法引發(fā)事件
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("按任意鍵引發(fā)事件");
Console.ReadKey();
// 引發(fā)事件
tc.RaiseTestEvent("通過事件參數(shù)傳遞的字符串");
Console.WriteLine("按任意鍵退出");
Console.ReadKey();
}
private static void Tc_TestEvent(object sender, EventArgs e)
{
// 將事件參數(shù)強制轉(zhuǎn)換為TestEventArgs
TestEventArgs te = (TestEventArgs)e;
// 顯示事件參數(shù)中的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("按任意鍵引發(fā)事件");
Console.ReadKey();
tc.RaiseTestEvent("通過事件參數(shù)傳遞的字符串");
Console.WriteLine("按任意鍵退出");
Console.ReadKey();
}
private static void Tc_TestEvent(object sender, EventArgs e)
{
TestEventArgs te = (TestEventArgs)e;
Console.WriteLine(te.Message);
}
}
相關(guān)文章
C#實現(xiàn)任意數(shù)據(jù)類型轉(zhuǎn)成json格式輸出
C#實現(xiàn)任意數(shù)據(jù)類型轉(zhuǎn)成json格式輸出。需要的朋友可以過來參考下,希望對大家有所幫助2013-10-10
c#開發(fā)的程序安裝時動態(tài)指定windows服務(wù)名稱
前段時間由于項目的需求,要在Windows里把同樣的組件制作成多個不同名稱的服務(wù),這些服務(wù)完成類似的功能,僅需要修改業(yè)務(wù)配置文件2012-06-06
將字符串轉(zhuǎn)換成System.Drawing.Color類型的方法
將字符串轉(zhuǎn)換成System.Drawing.Color類型的方法,需要的朋友可以參考一下2013-04-04
C#遠程發(fā)送和接收數(shù)據(jù)流生成圖片的方法
這篇文章主要介紹了C#遠程發(fā)送和接收數(shù)據(jù)流生成圖片的方法,涉及C#通過數(shù)據(jù)流傳輸圖片的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07

