C#中委托的使用

在C#的WinForm应用程序中,可以通过定义自定义事件来实现对象之间的通信。这种机制是通过使用委托实现的。 首先,需要创建一个委托类型来表示事件的参数和返回值。例如,下面的代码创建了一个名为`EventHandler`的委托类型: ```csharp public delegate void EventHandler(object sender, EventArgs e); ``` 然后,在类中定义一个事件,该事件使用上述委托类型作为其参数类型。例如,下面的代码定义了一个名为`ButtonClicked`的事件: ```csharp public event EventHandler ButtonClicked; ``` 接下来,可以在类的其他部分实现事件的触发逻辑。例如,下面的代码展示了如何在按钮的单击事件中触发`ButtonClicked`事件: ```csharp private void button1_Click(object sender, EventArgs e) { ButtonClicked?.Invoke(this, EventArgs.Empty); } ``` 最后,可以在窗体的构造函数中将事件连接到其他对象的方法。例如,下面的代码展示了如何将按钮的单击事件连接到窗体自身的方法: ```csharp public ButtonClickedForm() { InitializeComponent(); button1.Click += new EventHandler(button1_Click); } ```
rar 文件大小:81.96KB