1

我有一个包含一个按钮的表单来创建一个新的派生类表单。在这个按钮的回调中,我有代码

 AnotherFormClass newForm= new AnotherFormClass();
 newForm.Show();

当单击按钮并运行时,newForm 会在我的屏幕上的原始表单前面瞬间闪现,但随后原始表单又回到了前面。我不想使用蛮力 TopMost() 它来强制 newForm 总是在前面。另外,我不确定为什么我会看到这种行为。有人可以帮忙吗?我看到有一篇文章在这里提到了一个稍微类似的问题 - 当单击子窗体的菜单条时,父窗体会出现在前面, 但这是针对 .NET 4.5 的,我之前在 4.0 中也遇到过这种行为。

谢谢,克里斯

4

2 回答 2

2

“ newForm 会在我屏幕上的原始表单前面短暂闪现,但随后原始表单又回到了前面。”

如果你的意思是你总是需要子表单在前面

useForm.ShowDialog()方法,它将保持子窗体在前面,直到您关闭它。

在你的情况下

 var newForm= new AnotherFormClass();
 newForm.ShowDialog(this);

阅读有关Form.ShowDialog 方法的更多信息

于 2013-09-09T16:45:08.383 回答
1

您需要将新表单显示为当前表单的子表单:

newForm.Show(this);
于 2013-09-09T16:41:42.120 回答