0

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

用户还可以查看与工作有关的各种表格、执行工作的人员、工作地点等。

然而,当这些表单在主屏幕上弹出时,它们会间歇性地消失在主屏幕后面。我认为这是因为轮询刷新了主屏幕的工作列表并使其成为焦点。

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

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

4

1 回答 1

0

您需要设置Child Forms Owner Property。或者当您当时在父表单中显示表单时。

从上面的链接:

拥有的表单也永远不会显示在其拥有者表单的后面。You can use owned forms for windows such as find and replace windows, which should not disappear when the owner form is selected. 若要确定由父窗体拥有的窗体,请使用 OwnedForms 属性。

于 2012-09-14T06:24:13.493 回答