C# 从“新建模式”对话框将焦点放在以前打开的窗口上

C# 从“新建模式”对话框将焦点放在以前打开的窗口上,c#,winforms,modal-dialog,windows-forms-designer,C#,Winforms,Modal Dialog,Windows Forms Designer,我的情况如下: 我有一个主窗体。我用Show()方法打开另一个窗口(1)。它不是模态的。我用ShowDialog打开第二个模式窗口(2) 现在,我搜索打开的表单并找到窗口(1)。我可以打开它,专注于它,但我不能在其中使用任何控制-它被锁定。是否可以在不关闭并重新打开窗口的情况下“解锁”该窗口(1)?将阻止当前窗口并等待对话框的结果: 当一个窗口类被实例化时,默认情况下它不可见。ShowDialog显示窗口,禁用应用程序中的所有其他窗口,仅当窗口关闭时返回。这种类型的窗口称为模态窗口 您唯一能做的

我的情况如下:

我有一个主窗体。我用
Show()
方法打开另一个窗口(1)。它不是模态的。我用
ShowDialog
打开第二个模式窗口(2)

现在,我搜索打开的表单并找到窗口(1)。我可以打开它,专注于它,但我不能在其中使用任何控制-它被锁定。是否可以在不关闭并重新打开窗口的情况下“解锁”该窗口(1)?

将阻止当前窗口并等待对话框的结果:

当一个
窗口
类被实例化时,默认情况下它不可见。ShowDialog显示窗口,禁用应用程序中的所有其他窗口,仅当窗口关闭时返回。这种类型的窗口称为模态窗口

您唯一能做的就是通过覆盖设置
Owner
属性,但这不会“解锁”其他窗口,因为您正在使用模式窗口:

方法
打开一个窗口,仅当新打开的窗口关闭时返回

如果模式窗口(2)是(1)的子窗口,则不能,因为这是默认行为。