在我的应用程序中,我遇到了一些Windows窗体的问题。他们有时会在另一扇窗户下摔倒。
Form有一些Z坐标吗?或者这是如何工作的?
谢谢。
编辑:我应该补充一点,我正在使用智能客户端软件工厂。答案 0 :(得分:4)
您可以使用Form.Show(IWin32Window owner)
方法将表单生成为另一个表单的子表单,该表单始终保持在该表单之上。
例如:
class Form1 : Form
{
public Form1()
{
InitializeComponent();
var f2 = new Form2();
f2.Show(this);
}
}
class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
}
当创建Form1
的实例时,它将创建并显示Form2
类的实例作为子项。无论哪种形式具有焦点,Form1
都将落后于Form2
。
编辑:我拍了一些效果的截图,其中包含对每个表单的GotFocus
和LostFocus
事件做出回应的标签,以便在可爱的蓝色边框不足的情况下进行演示: