Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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
.net 从子窗体关闭事件关闭父窗体_.net_Winforms - Fatal编程技术网

.net 从子窗体关闭事件关闭父窗体

.net 从子窗体关闭事件关闭父窗体,.net,winforms,.net,Winforms,是否可以在FormClosing事件中从子窗体关闭父窗体 由于父级的Close()将再次尝试关闭子级,这是否会引发错误 我会更新这个问题,因为有人否决了它。我正在与.NET一起使用progress(OpenEdge)。如果我有这样一个构造,其中子窗体尝试关闭父窗体,我将得到一个巨大的进度错误。我想知道在纯.NET WinForms应用程序中,这是否会是一个问题。如果先删除子项,可以使用以下方法将子项从其父项中删除: ' Remove child from parent Dim p As

是否可以在FormClosing事件中从子窗体关闭父窗体

由于父级的
Close()
将再次尝试关闭子级,这是否会引发错误


我会更新这个问题,因为有人否决了它。我正在与.NET一起使用progress(OpenEdge)。如果我有这样一个构造,其中子窗体尝试关闭父窗体,我将得到一个巨大的进度错误。我想知道在纯.NET WinForms应用程序中,这是否会是一个问题。

如果先删除子项,可以使用以下方法将子项从其父项中删除:

' Remove child from parent
    Dim p As Form = myChild.Parent
    p.Children.Remove(myChild)

因为在那一刻,我还不知道父母是否可以被移除。。。我现在看到的是取消FormClosing事件并将其延迟到以后…假设您不能将子对象作为对话框,并传回取消结果以要求其关闭,可能在打开表单时传递一个对布尔值的引用,该布尔值指示它应尽快关闭父对象?嗯,是的,的确,但是我们可以说有很多代码已经存在多年了,我无法在几天内修改。是的,这不会很好地工作,当FormClosing事件运行时,表单还没有关闭。让家长订阅孩子的FormClosed事件。