我有一个包含按钮的表单,用于创建新的派生类表单。在此按钮的回调中,我有代码
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,我之前也遇到过这种行为。
谢谢, 克里斯
答案 0 :(得分:2)
“newForm会暂时在屏幕上的原始表单前闪烁,但原来的表单会回到正面。”
如果您的意思是您总是需要将子表格放在前面
使用Form.ShowDialog()
方法,该方法会将子表单保留在前面,直到您关闭它为止。
在你的情况下
var newForm= new AnotherFormClass();
newForm.ShowDialog(this);
答案 1 :(得分:1)
您需要将新表单显示为当前表单的子项:
newForm.Show(this);