在父表格前面赢表

时间:2013-09-09 16:38:31

标签: c# forms

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

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

当点击按钮并且这个按钮运行时,newForm会在屏幕上的原始表单前面瞬间闪烁,但原始表单会回到正面。我不想使用强力TopMost()它来强制newForm始终在前面。另外,我不确定为什么我会看到这种行为。有人可以帮忙吗?我看到有一篇文章提到了一个类似的问题 - Parent form is bringing to front when the menu strip of a child form is clicked 但这适用于.NET 4.5,我之前也遇到过这种行为。

谢谢, 克里斯

2 个答案:

答案 0 :(得分:2)

“newForm会暂时在屏幕上的原始表单前闪烁,但原来的表单会回到正面。”

如果您的意思是您总是需要将子表格放在前面

使用Form.ShowDialog()方法,该方法会将子表单保留在前面,直到您关闭它为止。

在你的情况下

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

详细了解Form.ShowDialog Method

答案 1 :(得分:1)

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

newForm.Show(this);