代码之家  ›  专栏  ›  技术社区  ›  BCS

如何使一个窗体保持在另一个窗体之上?

  •  18
  • BCS  · 技术社区  · 15 年前

    我找到了 Form.TopMost 属性,但它将窗体置于所有内容之上,包括不属于我的应用程序的内容。我怀疑我遗漏了一些明显的东西。(是 Form 非模态对话框的正确基类?)

    4 回复  |  直到 11 年前
        1
  •  30
  •   CodeFusionMobile    15 年前

    使用对话框窗体的Form.Owner属性并将其设置为主窗体。

    在这里阅读更多 http://msdn.microsoft.com/en-us/library/system.windows.forms.form.owner.aspx

    拥有的窗体将永远不会显示在所有者窗体后面。

        2
  •  8
  •   gingerbreadboy    11 年前

    这很简单,当你打电话给 Show() 方法

    YourForm.Show(parentForm);
    
        3
  •  1
  •   Martin Liversage    15 年前

    通过向子窗体上调用的showDialog()方法提供父窗体作为参数,可以指定Windows之间的父子关系。然后,子窗口将保持在父窗口的顶部,并与父窗口一起最小化和还原。

        4
  •  0
  •   EKS    15 年前

    如果我理解你正确地打开了你的申请表,你希望你的新申请表在旧申请表的基础上。

    要做到这一点,你可以使用 ShowDialog() StartPosition

    SomeForm MyNewForm = new SomeForm();
    MyNewForm.ShowDialog();
    

    这将使该表单保持在原始表单的顶部,您也可以使用

    MyNewForm .StartPosition = FormStartPosition.CenterParent;
    

    控制新窗体在屏幕上的显示位置。