如何获取特定行以插入控件

How to get specific row to insert controls

我正在尝试在 c# tableLayoutPanel 中的确定位置插入一行。

我需要检查其中一个标签中不包含复选标记的第一行,并将其设置为要插入控件的行。

尽管我认为我在for循环中设置了insertRow,但是当它到达插入行的位置时,insertRow值是0。似乎当退出for循环时,insertRow值恢复回来到 0。如果我不使用“= 0”初始化 insertRow,那么当我收到有关使用未分配变量的错误消息时。如果有任何帮助,我将不胜感激。

        int insertRow = 0;
        int rowCount = tableLayoutPanel2.RowCount;

        //Get first row without member listed
        for (int i = 1; i <= rowCount - 1; i++)
        {
            if (tableLayoutPanel2.GetControlFromPosition(1, i).Text != "✔")
            {
                insertRow = i;
            }
        }
        //Add Row to table
        tableLayoutPanel2.RowCount++;
        tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 29));
        //Insert Row
        tableLayoutPanel2.Controls.Add(new Label() { Text = Name.Text, TextAlign = ContentAlignment.MiddleCenter, Anchor = AnchorStyles.None, AutoSize = false }, 0, insertRow);

原来我需要的只是 "break" 退出循环以保持 insertRow 变量设置。

for (int i = 1; i <= rowCount - 1; i++)
        {
            if (tableLayoutPanel2.GetControlFromPosition(1, i).Text != "✔")
            {
                insertRow = i;
                break;
            }
        }
        //Add Row to table
        tableLayoutPanel2.RowCount++;
        tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 29));
        //Insert member
        tableLayoutPanel2.Controls.Add(new Label() { Text = Name.Text, TextAlign = ContentAlignment.MiddleCenter, Anchor = AnchorStyles.None, AutoSize = false }, 0, insertRow);