Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使TableLayoutPanel像HTML表格一样工作(围绕文本自动调整大小的单元格)_C#_Winforms_Tablelayoutpanel - Fatal编程技术网

C# 使TableLayoutPanel像HTML表格一样工作(围绕文本自动调整大小的单元格)

C# 使TableLayoutPanel像HTML表格一样工作(围绕文本自动调整大小的单元格),c#,winforms,tablelayoutpanel,C#,Winforms,Tablelayoutpanel,我试图在WinForm上构建一个TableLayoutPanel,并希望它的行为完全像一个普通的旧HTML表 一个要求是这个表需要以编程方式构建。这就是我到目前为止所做的: foreach (var RowLinq in ResultLinq) { RichTextBox RT = new RichTextBox(); RT.BorderStyle = BorderStyle.None; RT.Text = RowLinq.Result.ResultName; R

我试图在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将其AutoSize属性设置为True。

TableLayoutPanel?不幸的是,这不会影响高度。另外,我正在尝试将RT.Height设置为autosize,但我不知道如何实现。我试过RT.Height=SizeType.AutoSize,但我想这是错误的语法…在我的机器上工作。您可以在designer中试用。在单元格中放置一个按钮,并将其Dock属性设置为Fill。调整按钮的大小并观察TLP的增长。这是奇怪的部分,在设计器中构建它时它可以工作,但是当以编程方式构建时,事情开始变得不稳定。如果你能使用OP中的代码+一些新代码来调整高度,我将非常感激,谢谢!