Winfrom子窗口如何返回DialogResult.OK
时间: 2024-09-19 19:18:10 浏览: 51
C#WinForm获取子窗口返回值
5星 · 资源好评率100%
在Windows Forms(WinForm)中,如果你有一个子窗口(通常是`Form`或`Dialog`类型的子窗体)需要向父窗体返回一个`DialogResult`(如`DialogResult.OK`),通常是在子窗体上设置好相关的操作后,通过`Close`方法传递结果。当子窗体调用`Close`时,你可以传入相应的枚举值来指定返回结果。例如:
```csharp
private void btnOk_Click(object sender, EventArgs e)
{
// 子窗体的操作完成,设置为OK结果
this.DialogResult = DialogResult.OK;
// 关闭子窗体,将结果返回给父窗体
Close();
}
```
如果子窗体是作为模式对话框(`ShowDialog`)打开的,那么可以直接在适当的方法内设置`DialogResult`,然后调用`this.Close(DialogResult.OK)`。在父窗体的回调方法(通常在`Form.ShowDialog`之后)里,你会接收到这个结果:
```csharp
DialogResult result = MySubWindow.ShowDialog();
switch (result)
{
case DialogResult.OK:
Console.WriteLine("User clicked OK in the child window");
break;
// 其他case...
}
```
阅读全文