Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.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
Vb.net 表格布局面板行样式_Vb.net_Winforms_Tablelayoutpanel - Fatal编程技术网

Vb.net 表格布局面板行样式

Vb.net 表格布局面板行样式,vb.net,winforms,tablelayoutpanel,Vb.net,Winforms,Tablelayoutpanel,我有一个表布局面板,正在使用以下代码动态添加行: attemptstlp.RowCount += 2 attemptstlp.Height = attemptstlp.Height + 62 attemptstlp.RowStyles.Add(New RowStyle(SizeType.Absolute, 30)) (正如您所知,attemptstlp是面板的名称) 我使用循环处理这些行并添加它们。我发现,除了行样式停止应用的一半以外,其他所有操作都正常(因此,如果我想

我有一个表布局面板,正在使用以下代码动态添加行:

    attemptstlp.RowCount += 2
    attemptstlp.Height = attemptstlp.Height + 62
    attemptstlp.RowStyles.Add(New RowStyle(SizeType.Absolute, 30))
(正如您所知,
attemptstlp
面板的名称

我使用循环处理这些行并添加它们。我发现,除了行样式停止应用的一半以外,其他所有操作都正常(因此,如果我想添加24个批次的2行,那么在添加第12个批次的行之后,高度将停止应用)

有谁能提供一些建议,说明为什么在添加了一半行之后,这些行会(我假设)恢复为自动大小。引用此面板的唯一其他代码行是添加文本框的代码行以及暂停和恢复布局的代码行,以帮助减少闪烁和加载所需的时间

首次创建时,
表格布局面板的初始高度为
40
,行高度为
39

提前感谢,,
mrtechguy

这非常适合在TableLayoutPanel中添加行和控件。试试看

'Define a blank Tablelayoutpanel with 3 columns in the design page
Dim TableLayoutPanel3 As New TableLayoutPanel()
TableLayoutPanel3.Name = "TableLayoutPanel3"
TableLayoutPanel3.Location = New System.Drawing.Point(32, 287)
TableLayoutPanel3.AutoSize = True
TableLayoutPanel3.Size = New System.Drawing.Size(620, 20)
TableLayoutPanel3.ColumnCount = 3
TableLayoutPanel3.CellBorderStyle = TableLayoutPanelCellBorderStyle.Single
TableLayoutPanel3.BackColor = System.Drawing.Color.Transparent
TableLayoutPanel3.ColumnStyles.Add(New ColumnStyle(SizeType.Percent, 26.34146!))
TableLayoutPanel3.ColumnStyles.Add(New ColumnStyle(SizeType.Percent, 73.65854!))
TableLayoutPanel3.ColumnStyles.Add(New ColumnStyle(SizeType.Absolute, 85.0!))
Controls.Add(TableLayoutPanel3)  

'Create a button btnAddRow to add rows on each click
Private Sub btnAddRow_Click(sender As System.Object, e As System.EventArgs) Handles btnAddRow.Click      
     TableLayoutPanel3.GrowStyle = TableLayoutPanelGrowStyle.AddRows
     TableLayoutPanel3.RowStyles.Add(New RowStyle(SizeType.Absolute, 20))
     TableLayoutPanel3.SuspendLayout()
     TableLayoutPanel3.RowCount += 1         
     Dim tb1 As New TextBox()
     Dim tb2 As New TextBox()
     Dim tb3 As New TextBox()
     TableLayoutPanel3.Controls.Add(tb1 , 0, TableLayoutPanel3.RowCount - 1)
     TableLayoutPanel3.Controls.Add(tb2, 1, TableLayoutPanel3.RowCount - 1)
     TableLayoutPanel3.Controls.Add(tb3, 2, TableLayoutPanel3.RowCount - 1)
     TableLayoutPanel3.ResumeLayout()
     tb1.Focus()
End Sub

表格布局面板是dock fill表单啊?抱歉,格式没有完全按照我在浏览器中的计划工作(与粘贴的空间不是实际空间或其他内容有关)@Sathishits工作正常还是在表布局面板中有问题表布局面板的行高在添加的行总数的后半部分被忽略。您正在添加
attemptstlp.RowCount+=2
但添加一行为什么
attemptstlp.RowStyles.add(新的RowStyle(SizeType.Absolute,30))