我有一个名为UI
的Windows窗体类,它最初没有控件。有一个自定义UserControl StartPage
,其大小为422, 117
。
当我在StartPage
中添加UI
时,其尺寸更改
UserControl c = new StartPage();
c.Dock = DockStyle.Top; // Also tried DockStyle.Fill
// Size here: 422, 117
Controls.Add(c);
// Size here: 406, 117
发生了什么以及如何防止此行为?我基本上希望UI
自动调整大小以包含StartPage
而不使用AutoSize
属性。
是否有任何标准方法可以实现此行为?
答案 0 :(得分:1)
您应该增加表单宽度,当前它会变小 - 因此正在调整用户控件的大小。 你可以在运行时这样做:
UserControl c = new StartPage();
c.Dock = DockStyle.Top;
Width = c.Width + Width - ClientSize.Width;
Height = c.Height + Height - ClientSize.Height;
Controls.Add(c);
答案 1 :(得分:1)
由于字体的原因,将usercontrol字体更改为父表单字体,所有内容都将按预期加载。
答案 2 :(得分:0)
另一种解决方案是将用户控件中的 AutoScaleMode
更改为 Inherit
。这可以解决缩放问题。默认情况下,它将具有值“字体”。
AutoScaleMode = Inherit