【问题标题】:Auto resizing controls when content changes in winforms using C#使用 C# 在 Winforms 中内容更改时自动调整大小控件
【发布时间】:2016-08-12 09:09:20
【问题描述】:

我在我的Form 中使用TableLayoutPanel 对象,并很好地调整窗口自动调整我的控件的大小,但我在其中一个面板中有一个Label,其中包含用户看到的大部分文本。如果文本增加,我希望表单增加。

因此,如果文本增加,因为设置了对象自动大小属性,对象将增加,并且作为其锚定(L、R、T 和 B)到面板,它很好地包裹了文本。面板本身设置为自动大小,所以我希望它自动增加,然后表单也应该自动增长。

如果我手动增加窗口大小,所有文本都会随着布局面板大小的增加而变得可见,但我希望它在文本更改时增加。

有什么想法吗?

【问题讨论】:

    标签: c# winforms visual-studio tablelayoutpanel


    【解决方案1】:

    您需要将FormTableLayoutPanelLabelAutoSize属性设置为true,然后将FormAutoSizeMode属性设置为GrowAndShirnk

    【讨论】:

    • 还是不行。当标签由于额外的文本而增加时,我希望面板会因为 auto size 属性而增加,然后是自动调整大小的级联但没有。
    • 嗯,我在我的表单中添加了TableLayoutPanel,在它的一个面板中我添加了一个Label,然后我做了我提到的事情并且它起作用了。
    【解决方案2】:

    确保您将AutoSizeMode 设置为“增长和收缩”

    【讨论】:

    • 是的,没有效果(仅在增长时)。面板行大小属性需要设置为 100%,另一行设置为自动大小。
    【解决方案3】:

    在更改标签文本后尝试调用表单的调整大小事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-13
      • 2010-11-12
      • 2022-01-05
      • 1970-01-01
      相关资源
      最近更新 更多