Form.ShowDialog()不显示表单

Chr*_*sAU 2 vb.net winforms

我遇到过一种情况,我尝试在方法中运行一行简单的代码

Dim res As DialogResult = frmOptions.ShowDialog()

但没有任何反应.该对话框不会出现.如果我从代码中的另一个位置运行此方法它执行正常(即在对话框模式下显示表单,此后代码执行正常).因此,它可能是我到达导致我的问题的代码的方式,但我看不出发现什么是错的.

当我暂停调试器时,代码行以绿色突出显示,但我无法看到它跳过它或进入它.

任何想法可能会导致这种情况发生,或者我应该寻找什么可能导致问题?

谢谢您的帮助!

Chr*_*sAU 5

问题在于,默认情况下将活动窗口设置为对话框的所有者,将其TopMost属性设置为true.结果,对话框显示在所有者(TopMost)窗口后面.

对话框是一个模态形式,因此其他窗口无法获得焦点,因此程序看起来没有任何正在发生或正在工作,实际上对话框只是隐藏在最顶层的形式后面.

代码在其他情况下工作的原因是因为活动窗口在加载对话框时没有将TopMost属性设置为true,因此按预期显示对话框.