我有一个WinForm程序,有两个Form.form1是主窗体,看一个套接字端口。当请求到达时,显示from1:
this.Show();
this.ShowInTaskbar = true;
当用户点击form1' s按钮时,我隐藏了1 show form2:
this.Hide();
this.ShowInTaskbar = false;
From2 form = new From2 (info);
var value = form.ShowDialog();
到目前为止正常。当From2点击OK,我想再次显示Form1,但Form1经常被其他程序覆盖:
if (DialogResult.OK == value)
{
reponse();
}
this.Show();
this.ShowInTaskbar = true;
我希望form1 show似乎取代form2 position.how我可以吗?
答案 0 :(得分:1)
您应该致电ShowDialog
将当前表单作为所有者传递:
var value = form.ShowDialog(this);
执行此操作而不是隐藏form1
。这使两个表单在Windows Z-Order中保持链接在一起并自动禁用form1
上的输入,同时form2
显示在其上方。因此,当用户执行form2
的任何活动时,即使之前已在Z顺序中丢失,当他们将form2
带到前面时,form1
也会也来了。