小编给大家分享一下c#在程序中定义和使用自定义事件的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
成都创新互联公司是一家专注于成都网站建设、网站建设与策划设计,泰和网站建设哪家好?成都创新互联公司做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:泰和等地区。泰和做网站价格咨询:13518219792
C#在程序中定义和使用自定义事件的步骤有:首先在类中定义事件,然后再定义事件的参数,在TestClass中来引发事件最后使用事件

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#在程序中定义和使用自定义事件的方法有了一定的了解,想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!