【问题标题】:Strange behavior of child windows in MDIMDI中子窗口的奇怪行为
【发布时间】:2013-12-31 06:45:38
【问题描述】:

我有 MDI 表单和几个子表单。当我最大化一种形式时,所有其他形式也都最大化。例如,从子表单我想激活另一个子表单。以前第一个子窗体被最大化。即使设置为正常大小,新打开的表单也会最大化。如何阻止它?这是某种错误吗?

【问题讨论】:

标签: c# mdichild mdiparent


【解决方案1】:

这是标准的记录行为。

可能有一种解决方法。当最大化窗体关闭​​时,可以绑定FormClosing事件,将子窗体的WindowState设置为“FormWindowState.Normal”

private void Form_FormClosing(object sender, FormClosingEventArgs e)
{
 this.WindowState = FormWindowState.Normal;
}

试试这个,看看它是否适合你。

【讨论】:

  • 这不是我需要的...让我试着解释一下我拥有什么以及我想要什么:我有 MDI 容器。在容器内有带有 datagrdview 的子表单,并且此表单已最大化。从那个子窗体中,我必须打开另一个包含其他控件的小窗口。如果这个窗口也被最大化并且只包含一个小列表框和按钮,那就太令人困惑和混乱了。如果我用 .ShowDialog() 打开第二个孩子,它显示正常,但它不能在 MDI 容器内,并且所有其他窗口都被锁定,直到这个孩子被关闭。
  • 我认为在这种情况下,您可以选择使子窗体独立于 MDI 容器(即它不应再是子窗体)。您可以将其设计为这样一种方式,即它打开时 MDI 容器仍然可见(即操作此表单的高度、宽度)并且其尺寸是固定的。只是一个粗略的解决方法,我知道不理想,但在给定的情况下,这似乎是要走的路。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多