Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检测mdi子项是如何关闭的_C#_Winforms - Fatal编程技术网

C# 检测mdi子项是如何关闭的

C# 检测mdi子项是如何关闭的,c#,winforms,C#,Winforms,我有一个带有多个子窗口的mdi应用程序 关闭子窗口有3种方法 当我使用X关闭单个子级时,CloseReason是UserClosing 当我关闭应用程序时,CloseReason是MdiFormClosing 当我单击主窗体上的一个菜单项(已编程为关闭所有子窗口,主窗体保持打开状态)时,CloseReason为UserClosing 但是,我希望只有当我使用X关闭单个孩子时,行为才会有所不同。有什么建议吗?你不能修改e.CloseReason,这在Winforms中很难实现。当菜单项Click事

我有一个带有多个子窗口的mdi应用程序

关闭子窗口有3种方法

当我使用X关闭单个子级时,
CloseReason
UserClosing

当我关闭应用程序时,
CloseReason
MdiFormClosing

当我单击主窗体上的一个菜单项(已编程为关闭所有子窗口,主窗体保持打开状态)时,
CloseReason
UserClosing


但是,我希望只有当我使用X关闭单个孩子时,行为才会有所不同。有什么建议吗?

你不能修改e.CloseReason,这在Winforms中很难实现。当菜单项Click事件处理程序开始关闭子窗口时,只需在MDI父级中将公共bool属性设置为true。您可以在MDI子级的FormClosing事件处理程序中获取其值。您不能修改e.CloseReason,因为它已硬烘焙到Winforms中。当菜单项Click事件处理程序开始关闭子窗口时,只需在MDI父级中将公共bool属性设置为true。您可以在MDI子级的FormClosing事件处理程序中获取其值。您不能修改e.CloseReason,因为它已硬烘焙到Winforms中。当菜单项Click事件处理程序开始关闭子窗口时,只需在MDI父级中将公共bool属性设置为true。您可以在MDI子级的FormClosing事件处理程序中获取其值。