自定义UserControls在WinForm表单上托管时自动调整大小

时间:2015-01-20 13:55:56

标签: c# winforms user-controls custom-controls

我的WinForm应用程序出了问题。 我使用了Tab控件,我在每个选项卡面板中放置了一个自定义用户控件(选项卡面板1包含自定义用户控件,选项卡面板2包含另一个用户控件等)。

我的自定义用户控件已指定大小,但是当我将自定义用户控件添加到另一个用户控件或运行应用程序时,它们比设计模式更大......似乎托管表格缩放托管用户控件,但我不知道为什么会发生这种情况..

另一个问题是项目之间的距离已损坏。

以下是一个例子:

设计模式中的三个组合(托管在托管用户控件中):

enter image description here

当我运行程序或我只是添加时,同样的三个组合 我的自定义用户控件到窗口/窗体:

enter image description here

正如你所看到的那样,它们更大,它们之间的距离发生变化......

这种情况发生在大多数托管控件上(但不是全部),没有逻辑......

它能是什么?我正在优化应用程序以在指定大小的屏幕上运行,但我无法解决这些问题...

谢谢!

2 个答案:

答案 0 :(得分:2)

我发现另一个用户现在只有同样的问题: Sizing issues while adding a .Net UserControl to a TabPage

问题在于在设计模式下不可见的属性:您必须在usercontrol的设计器上将属性AutoScaleMode更改为None:

this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;

答案 1 :(得分:0)

回复很晚,但是希望这可以帮助遇到同样问题并且找不到解决方案的人,就像我刚才那样。

对我有用的是在用户控件的设计器中将AutoScaleMode设置为InheritAutoSize设置为false,尽管我不知道这是否有效果。