C# 窗体给另一个窗体传参
时间: 2024-09-17 10:02:22 浏览: 34
C#_窗体传参Demo源码
在C#中,从一个窗体(FormA)向另一个窗体(FormB)传递参数可以有多种方式。这里提供两种常见的方法:
1. **通过构造函数传递参数**:
- 如果FormB需要一个参数来初始化,可以将其作为FormB的构造函数参数。在创建FormB的新实例时,将值传入:
```csharp
FormB formB = new FormB(paramValue);
formB.Show();
```
在FormB的构造函数里,可以通过`this.paramName = paramValue;`接收这个参数。
2. **通过事件系统传递参数**:
- FormA可以通过公共方法引发一个事件,然后在FormB中订阅该事件并接收参数:
```csharp
// 在FormA中触发事件
public void PassData(string data)
{
RaiseEvent(new DataEventArgs(data));
}
private void RaiseEvent(DataEventArgs e)
{
DataChanged?.Invoke(this, e);
}
// 在FormB中订阅事件并处理参数
public FormB()
{
InitializeComponent();
DataChanged += OnDataChanged;
}
private void OnDataChanged(object sender, DataEventArgs e)
{
string data = e.Data;
// ...处理数据
}
```
这里假设有个名为`DataChanged`的自定义事件。
阅读全文