屏幕焦点和谁在顶部

时间:2012-09-14 06:19:24

标签: c# winforms focus

我有一个.net 4 WinForms应用程序。主屏幕显示通过轮询WCF服务或用户手动输入检索的作业列表。

用户还可以查看各种表格来处理作业,执行作业的位置等。

然而,当这些表格突然出现在主屏幕上时,它们会间歇地消失。我认为这是因为轮询会刷新主屏幕的作业列表并使其成为焦点。

我最初通过为所有“子”形式设置TopMost = true来解决这个问题,但是当我发现它甚至将InputDialogs发送到后面时,我开始认为我错了。

还有另一种方法可以阻止主屏幕向前方弯曲吗?我被告知不要在这个应用程序中使用MDI,所以它不是一个选项。

1 个答案:

答案 0 :(得分:0)

您需要设置Child Forms Owner Property。或当你Show表格在那时传递给父表格时。

从上面链接:

  

自有表单也不会在其所有者表单后面显示。您可以使用窗口的自有窗体,例如查找和替换窗口,当选择所有者窗体时,窗口不应该消失。要确定父表单拥有的表单,请使用OwnedForms属性。