【问题标题】:resize form in panel not working在面板中调整表格大小不起作用
【发布时间】:2012-07-11 10:27:13
【问题描述】:

我正在使用下面的代码将表单加载到面板中,问题是如果调整主窗口的大小,表单不会随之调整大小。

frm = new frmShopFloorMonitor();
            frm.TopLevel = false;
            frm.Dock = DockStyle.Fill;
            frm.AutoSize = true;
            pnlMain.Controls.Add(frm);
            pnlMain.Dock = DockStyle.Fill; 
            frm.Show();
            frm.BringToFront();

有什么建议吗?

功能区控件位于此处:http://officeribbon.codeplex.com/

【问题讨论】:

  • 为什么要在面板中加载表单?如果表单的内容成为用户控件,那么它可以加载到面板中或者如果需要在表单上加载,那不是很好。
  • 原因是我在mdi父级上有一个ribbon控件,需要子标题栏出现在ribbon控件下,为此我找到了上面的代码,你有一个例子什么意思?
  • 我不认为在面板中显示表单是正确的方法,您没有遇到焦点等问题吗?我建议的解决方案假设您不想要标题栏等。我建议取消表单并仅使用该表单上的控件,这显然不是您想要的......
  • 无法复制。我认为 AutoSize 应该是错误的,因为您正在使用停靠填充来控制大小。否则,从 cmets 来看,它可能与功能区控件有关。

标签: c# winforms panel


【解决方案1】:

相反,我选择了不同的技巧,坚持 MDIParent 和子关系并执行以下操作:

1) 在 MDIParent 表单上添加一个菜单条并将其 Visible 值更改为 false 2) 将 MDIChild 表单上的以下内容更改为 false:ControlBox、MaximizeBox、MinimizeBox、ShowIcon、ShowInTaskBar 3) 将 MDIChild 窗体框架边框更改为无。

这让我可以创建一个最大化的子窗口而不显示标题栏!

【讨论】:

  • “我以另一种方式做到了”没有回答原始问题。
  • @HansPassant 也不会倒退到目的地,但它仍然可以让您到达目的地!如果有人能解决这个问题,这个问题仍然有待解答。
猜你喜欢
  • 2021-10-25
  • 2018-10-10
  • 2019-08-21
  • 1970-01-01
  • 2019-01-25
  • 1970-01-01
  • 2013-08-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多