【问题标题】:Making TableLayoutPanel Act Like An HTML Table (Cells That Resize Automatically Around Text)使 TableLayoutPanel 像 HTML 表格一样(在文本周围自动调整大小的单元格)
【发布时间】:2010-09-27 22:58:08
【问题描述】:

我正在尝试在 WinForm 上构建 TableLayoutPanel,并希望它的行为与普通的旧 HTML 表完全一样。

一个要求是该表需要以编程方式构建。这是我目前所拥有的:

foreach (var RowLinq in ResultLinq)
{
    RichTextBox RT = new RichTextBox();
    RT.BorderStyle = BorderStyle.None;
    RT.Text = RowLinq.Result.ResultName;
    RT.Dock = DockStyle.Fill;

    TableLayoutPanel.RowCount++;
    TableLayoutPanel.RowStyles.Add(new RowStyle(System.Windows.Forms.SizeType.AutoSize));
    TableLayoutPanel.Controls.Add(rt1, 0, tableLayoutPanel5.RowCount - 1);
}

所以这会为我的 Linq 结果中的每一行构建一行。这很好用,除了一件事:高度根本不调整并且完全固定。我需要根据每个单元格内文本的高度来增长和缩小高度。

我非常需要您的帮助,感谢 Stack-o

【问题讨论】:

    标签: c# winforms tablelayoutpanel


    【解决方案1】:

    将其 AutoSize 属性设置为 True。

    【讨论】:

    • TableLayoutPanel?不幸的是,这不会影响高度。另外,我正在尝试将 RT.Height 设置为自动调整大小,但我不知道该怎么做。我试过 RT.Height = SizeType.AutoSize,但我猜这是错误的语法...
    • 在我的机器上工作。您可以在设计器中试用。在单元格中放置一个按钮并将其 Dock 属性设置为 Fill。调整按钮大小并观察 TLP 增长。
    • 看到这很奇怪,当您在设计器中构建它时它可以工作,但是当您以编程方式构建时,事情开始变得很不稳定。如果您可以使用 OP 中的代码 + 一些新代码来调整高度,我将不胜感激,谢谢!
    猜你喜欢
    • 1970-01-01
    • 2011-07-07
    • 1970-01-01
    • 2017-04-17
    • 2013-05-26
    • 2015-03-11
    • 1970-01-01
    • 1970-01-01
    • 2014-10-28
    相关资源
    最近更新 更多