Winform 子窗体关闭以后返回状态到父窗体
时间: 2023-10-01 08:02:12 浏览: 43
在Winform中,可以通过以下步骤实现子窗体关闭后返回状态到父窗体:
1. 在父窗体中创建一个方法,用于接收子窗体的返回状态,如:
```
public void UpdateStatus(string status)
{
// 处理返回状态的逻辑
}
```
2. 在子窗体中创建一个事件,用于触发返回状态的操作,如:
```
public event EventHandler StatusUpdated;
private void btnClose_Click(object sender, EventArgs e)
{
// 更新状态
string status = "状态信息";
// 触发事件
StatusUpdated?.Invoke(this, new StatusEventArgs(status));
// 关闭子窗体
this.Close();
}
```
3. 在子窗体中创建一个自定义事件参数类,用于传递返回状态的信息,如:
```
public class StatusEventArgs : EventArgs
{
public string Status { get; set; }
public StatusEventArgs(string status)
{
Status = status;
}
}
```
4. 在父窗体中打开子窗体,并订阅子窗体的事件,如:
```
private void btnOpen_Click(object sender, EventArgs e)
{
ChildForm childForm = new ChildForm();
childForm.StatusUpdated += ChildForm_StatusUpdated;
childForm.Show();
}
private void ChildForm_StatusUpdated(object sender, StatusEventArgs e)
{
// 处理返回状态的逻辑
UpdateStatus(e.Status);
}
```
通过以上步骤,就可以实现子窗体关闭后返回状态到父窗体的功能。