将.Net UserControl添加到TabPage时调整大小问题

TJ_*_*her 6 .net c# user-controls tabpage winforms

我有一个复杂的Windows窗体GUI程序,它有很多自动控件生成和操作.我需要做的一件事是将自定义UserControl添加到新实例化的TabPage.但是,当我的代码执行此操作时,我会自动调整大小导致格式化变得丑陋的事件.如果没有详细说明可能涉及的所有不同容器,基本问题是:

在代码中的某一点,我创建了一个新的标签页:

TabPage tempTabPage = new TabPage("A New Tab Page");
Run Code Online (Sandbox Code Playgroud)

然后我将它设置为我希望它维护的特定大小:

tempTabPage.Width = 1008;
tempTabPage.Height = 621;
Run Code Online (Sandbox Code Playgroud)

然后我将它添加到TabControl:

tabControl.TabPages.Add(tempTabPage);
Run Code Online (Sandbox Code Playgroud)

然后我创建一个用户控件,我想在新添加的TabPage中显示:

CustomView customView = new CustomView("A new custom control");
Run Code Online (Sandbox Code Playgroud)

这就是问题所在.此时tempTabPage和customView的大小相同,没有填充或边距,它们是我希望它们的大小.我现在尝试将这个新的自定义UserControl添加到标签页,如下所示:

tempTabPage.Controls.Add(customView);
Run Code Online (Sandbox Code Playgroud)

在进行此调用时,customView及其子控件的大小调整为更大,因此隐藏了部分customView.

任何人都可以给我任何关于寻找什么或可能导致这类问题的方向吗?

提前谢谢.

Ric*_*ohr 13

UserControl的"AutoScaleMode"属性应设置为"None".


Jen*_*und 5

如果你想customView填充TabPage.

Dock像这样使用:

tempTabPage.Controls.Add(customView);
customView.Dock = DockStyle.Fill;
Run Code Online (Sandbox Code Playgroud)

然后customView将填充 中的空间TabPage,但您必须处理调整大小,customView以便正确显示子控件。