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);
}
```
81.96KB
文件大小:
评论区