【问题标题】:Child forms not getting minimized along with the parent forms....?子表单没有与父表单一起被最小化......?
【发布时间】:2011-08-01 16:19:19
【问题描述】:

我已经使用 Microsoft Visual Studio 2008 和 Sql server 2005 制作了一个图书馆管理系统项目。我在这个项目中使用了 MDiParent 表单,我可以从中单击菜单项以打开所需的表单。

我现在能够在主窗口背景中打开子窗体。现在发生的情况是,当我单击一个菜单项时,它会在父窗体背景中打开。我能够打开与单击事件对应的所有子窗体在 MenuToolStrip ...全部在父窗体中 现在的问题是,当我最小化父表单时,我无法最小化子表单。我希望子表单也与父表单一起最小化。 子表单是否还没有附加到父表单也是我的问题......

【问题讨论】:

  • 显示你用来打开窗口的代码
  • 我正在使用表单的 .show() 属性打开表单,即 formname.show()
  • 你最好再问一个问题,而不是编辑旧问题。所以人们会看到旧的问题和答案。

标签: .net vb.net visual-studio-2008 .net-3.5


【解决方案1】:

您确定您正确使用了 MDI?
子表单永远不应该超出父表单的范围。 主父窗体应该有一个属性IsMdiContainer,将其设置为true。 然后应将子窗体的 MdiParent 属性设置为父窗体的实例。 检查this

【讨论】:

  • IsMdiContainer 属性为主父窗体设置为 true 。如何更改子窗体的 mdi 属性....正如你提到的..? @亨德利十号
  • 我认为您需要以编程方式执行此操作。请检查链接。
  • 当你创建子表单时,就在你 show() 之前。设置属性。检查链接。
  • 谢谢亨利,我找到了代码并让它为我工作......谢谢你的帮助......
  • 我使用 Dim whatever As New form whatever.MdiParent = Mewhat.Show() 并且它工作得很好,谢谢
【解决方案2】:

这是一个 Form 属性 ShowInTaskbar

Form blah = new Form();
blah.ShowInTaskbar = false;

或者直接在设计器中选择表单,将属性改为false;

【讨论】:

  • 现在发生的情况是,当我单击一个菜单项时,它会在父表单背景中打开,但是当我去单击其他菜单项时,之前在后台打开的表单消失了,如何冻结它以前在运行时打开的表单
  • 它不会消失,它就在它下面
  • @Yochai Timmer 很抱歉再次问你……我仍然想在父表单中进行一些修改……当我最小化我的父表单时会发生什么,而子表单不会' t 使用父窗体最小化。我希望子表单也可以最小化。子表单是否仍未附加到父表单也是我的问题.....
猜你喜欢
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多