【问题标题】:Sizing issues while adding a .Net UserControl to a TabPage将 .Net UserControl 添加到 TabPage 时出现大小调整问题
【发布时间】:2010-04-28 22:25:34
【问题描述】:

我有一个复杂的 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 被隐藏。

谁能给我任何关于寻找什么或可能导致此类问题的方向?

提前谢谢。

【问题讨论】:

    标签: c# .net winforms user-controls tabpage


    【解决方案1】:

    如果您希望customView 填充TabPage

    像这样使用Dock

    tempTabPage.Controls.Add(customView);
    customView.Dock = DockStyle.Fill;

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

    【讨论】:

    • 这对我有用(让 UserControl 自动调整大小)。 AutoScaleMode=None 对我不起作用。
    【解决方案2】:

    UserControl 的“AutoScaleMode”属性应设置为“None”。

    【讨论】:

    • 您的回答只是帮助我解决了一个完全不同的主题。非常感谢!
    【解决方案3】:

    我遇到了同样的问题。 UserControl 的“AutoScaleMode”设置为“None”对我有用。

    【讨论】:

      猜你喜欢
      • 2020-08-16
      • 1970-01-01
      • 2019-02-21
      • 1970-01-01
      • 2015-07-24
      • 2021-05-21
      • 2017-03-14
      • 2011-01-11
      • 1970-01-01
      相关资源
      最近更新 更多