C#向tablelayuot添加标签

C#向tablelayuot添加标签,c#,tablelayoutpanel,C#,Tablelayoutpanel,我尝试向tablelayout添加标签和行。当我使用像这样添加到listview时: ListViewItem ite = new ListViewItem(tag); ite.Text = (tag + " " + description + war); listView2.Items.Add(ite.Text); 这很管用,但当我尝试另一个时,它就不管用了。为什么?没有任何错误或例外 foreach (DataElement elementy in sq) {

我尝试向tablelayout添加标签和行。当我使用像这样添加到listview时:

ListViewItem ite = new ListViewItem(tag);
ite.Text = (tag + " " + description + war);
listView2.Items.Add(ite.Text);
这很管用,但当我尝试另一个时,它就不管用了。为什么?没有任何错误或例外

 foreach (DataElement elementy in sq)
 {                       
       for (int k = 0; k == row_number; k = k + 1)
        {
        tag = elementy.Tag.ToString();
        description = elementy.VR.Tag.GetDictionaryEntry().Description;



       // ListViewItem ite = new ListViewItem(tag);
        //ite.Text = (tag + " " + description + war);
        //listView2.Items.Add(ite.Text);

            tableLayoutPanel1.GrowStyle = TableLayoutPanelGrowStyle.AddRows;
            Label et_tag = new Label();
            et_tag.AutoSize= true;
            et_tag.Text = tag;
            tableLayoutPanel1.Controls.Add(et_tag, 0, k);
            Label op = new Label();
            op.AutoSize = true;
            op.Text = description;
            tableLayoutPanel1.Controls.Add(op, 1, k);

        }
 }

除非
行数
为0,否则内部
for
循环将不会运行。否则,它将在K初始化后立即失效,因此不执行任何操作。你的循环几乎肯定没有运行。如果row_number实际上是0,那么对于外部
foreach
循环中的每个项目,循环将只运行一次


您希望循环在什么条件下运行?你是说
k
?您是否只想对单个k执行此操作,其中
k==row\u number
,在这种情况下,您应该简单地将row\u number分配给k并完全摆脱循环?我不知道行号从何而来,所以我不知道这段代码要做什么。

不确定如何初始化行号,但可能应该是这样的:

for (int k = 0; k <= row_number; k = k + 1)

for(int k=0;k row number是顺序中每个元素的标记数。每个元素都有两个描述它的标记。我想在tablelayout中显示这些标记。您想要k“k