我有一个复杂的Windows窗体GUI程序,它有很多自动控件生成和操作。我需要做的一件事是将自定义UserControl添加到新实例化的TabPage。但是,当我的代码执行此操作时,我会自动调整大小导致格式变得丑陋的事件。如果没有详细说明可能涉及的所有不同容器,基本问题是:
在代码中的某一点,我创建了一个新的标签页:
TabPage tempTabPage = new TabPage("A New Tab Page");
然后我将它设置为我想要维护的特定大小:
tempTabPage.Width = 1008;
tempTabPage.Height = 621;
然后我将它添加到TabControl:
tabControl.TabPages.Add(tempTabPage);
然后我创建了一个我想要出现在新添加的TabPage中的用户控件:
CustomView customView = new CustomView("A new custom control");
这就是问题所在。此时tempTabPage和customView的大小相同,没有填充或边距,它们是我希望它们的大小。我现在尝试将这个新的自定义UserControl添加到标签页,如下所示:
tempTabPage.Controls.Add(customView);
在进行此调用时,customView及其子控件的大小调整为更大,因此隐藏了部分customView。
任何人都可以给我任何关于寻找什么或可能导致这类问题的方向吗?
提前致谢。
答案 0 :(得分:12)
UserControl的“AutoScaleMode”属性应设置为“None”。
答案 1 :(得分:4)
如果您希望customView
填充TabPage
。
像这样使用Dock
:
tempTabPage.Controls.Add(customView);
customView.Dock = DockStyle.Fill;
然后customView
将填写TabPage
中的空格,但您必须处理customView
的大小调整,以便正确显示子控件。
答案 2 :(得分:0)
我有同样的问题。 UserControl" AutoScaleMode"设置为"无"适合我。