【问题标题】:Label control not filling its containing cell in TableLayoutPanel标签控件未在 TableLayoutPanel 中填充其包含的单元格
【发布时间】:2013-01-17 01:29:27
【问题描述】:

什么会导致 Label 控件不能增长/缩小到 TableLayoutPanel 内的包含单元格?我在另一个包含 TableLayoutPanel 中有几个 TableLayoutPanel。调整表单大小时,我需要单元格中的标签控件来调整它们的大小。按钮控件执行此操作,但标签控件不执行此操作。

我在一个更简单的示例中尝试了一个使用 Label 控件的简单实验,该示例仅使用一个 TableLayoutPanel 并且它可以工作;当我将 Dock 属性设置为“填充”时,Label 控件可以很好地调整大小,但是我无法让它在具有多个 TableLayoutPanel 控件嵌入另一个控件的表单中工作。

Microsoft 建议应避免在此处嵌套:

http://msdn.microsoft.com/en-us/library/ms171689.aspx

但是,我需要能够在 TableLayoutPanel 中创建单独的控件组。谁能提供一些见解?

【问题讨论】:

    标签: c# .net tablelayoutpanel


    【解决方案1】:

    您是否将标签的Label.AutoSize 属性设置为false?每MSDN's documentation on the AutoSize property(强调我的):

    AutoSize 为 true 时,Dock 和 Anchor 属性将被接受。

    控件的Location 属性值已调整为正确的值。
    注意 Label 控件是此规则的例外。当您将停靠的Label 控件的AutoSize 属性的值设置为true 时,Label 控件将不会拉伸。

    【讨论】:

    • 我的具体问题原来是代码中的其他地方覆盖了该特定标签的绘制方法,这迫使它成为固定大小。一般来说,您的回答是一个很好的答案,所以我会接受。谢谢!
    猜你喜欢
    • 2015-03-11
    • 2013-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-26
    • 2017-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多