【问题标题】:How to make a form always stay on top of another form如何使表单始终位于另一个表单之上
【发布时间】:2011-05-02 07:22:27
【问题描述】:

如何使一个表单始终位于另一个表单之上。

另外两个表单的 enabled 属性必须为 true

我不想使用最顶层的属性。

编辑 1:

C# 中的另一个类似问题说您可以使用Form.Owner Property 来解决问题,如何使用此属性?

编辑 2:所有者属性工作正常,直到我第二次尝试打开它。

这是我收到的错误消息

【问题讨论】:

  • 为什么不想使用 TopMost 属性?应该这样做。
  • 你不能使用 ShowDialog() 吗?
  • 听起来 Noob 需要通过 V4Vendetta 为输入启用两种表单 - 这只会允许顶部表单接受输入。
  • @Russell Troywest- 是的,你是对的,我想要两种形式的输入,我不希望我的应用程序超越其他应用程序,所以我不想使用 topmost 属性。抱歉,我的网络中断了,所以我无法快速回复
  • 那么听起来您实际上已经回答了自己的问题。 Owner 属性可能是您想要的。将“最顶层”表单上的 Owner 属性设置为应该在后台的表单。见仇杀回应。

标签: vb.net winforms


【解决方案1】:

我相信您需要 frm.ShowDialog() 而不是 frm.Show()

frm 是您需要在当前表单上显示的另一个表单,而不是使用 Show,这将使其成为当前表单上的对话框表单(但是您将无法选择父表单或表单除非你关闭 frm 表单

编辑

在两个表单上启用编辑

Form2 frm = new Form2();
frm.Owner = this;
frm.Show();

希望对你有所帮助。

【讨论】:

  • 我需要父级,没有父级,我的应用将无法按我想要的方式运行
  • 我可以让它和父母一起移动吗?
  • 我不确定 .. 在 Form 的 Move 事件中会做很多工作
  • 你不是在创建一个新实例吗?
  • 我做了Public frm as new Form2 (vb.net)
猜你喜欢
  • 2012-05-05
  • 1970-01-01
  • 2015-12-14
  • 1970-01-01
  • 2012-03-17
  • 1970-01-01
  • 2020-06-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多