我正在使用 Windows c#。
首先,我需要的不能改变的事情如下:
- 的大小
TableLayoutPanel
是固定的。 - 总列数是固定的。
现在,我想为所有行设置一个固定高度,但是随着行数的增加,如果我将RowStyle
属性设置为Percent
with100.0F
那么它适用于 3 到 4 个项目,但是在 4-5 个项目之后,一行上的控件会覆盖上的控件另一排。
我已经搜索了很多,但我无法得到正确的答案。我也尝试了AutoSize
, Percent
,Absolute
的属性RowStyle
,即使它不起作用。
那么该怎么做和怎么做?我怎样才能做到这一点?
DataGridView
最终,我想做和 Windows C#一样的事情。
提前致谢....
我正在研究 WinForms...示例代码在这里..
int cnt = tableLayout.RowCount = myDataTable.Rows.Count;
tableLayout.Size = new System.Drawing.Size(555, 200);
for (int i = 1; i <= cnt; i++)
{
Label lblSrNo = new Label();
lblSrNo.Text = i.ToString();
TextBox txt = new TextBox();
txt.Text = "";
txt.Size = new System.Drawing.Size(69, 20);
tableLayout.Controls.Add(lblSrNo, 0, i - 1);
tableLayout.Controls.Add(txt, 1, i - 1);
}
tableLayout.RowStyles.Clear();
foreach (RowStyle rs in tableLayout.RowStyles)
tableLayout.RowStyles.Add(new RowStyle(SizeType.AutoSize));
标签和文本框在 4-5 #of 行中运行良好,但是每当 #of 行(在这种情况下,for 循环中的变量 cnt)增加时,这些行就会相互覆盖,这是一个控件覆盖另一个......我已拖放 TableLayoutPanel 控件并手动创建了一行和两列。
所以请告诉我该怎么做。