如何将复选框中的所有复选框添加到新表单?

时间:2019-07-09 11:21:18

标签: c# winforms

我想从CheckedBoxList获取所有项目并将其添加到新的Form中,因此对于每个选中的项目,我都希望有一个带有checkedItem名称和Label的新TextBox 。到目前为止,我正在这样做,但是当我打开表格时,我什么都没有。我不知道如何获取已检查商品的名称,而我正在这样做:

labels[i].Text = i.ToString(); 

enter image description here

private void Button4_Click(object sender, EventArgs e)
    {
        testForm = new Test();
        TableLayoutPanel tableLayoutPanel = new TableLayoutPanel() { AutoSize = true };
        tableLayoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize));
        int n = 0;

        for (int i=0;i<checkedListBox1.CheckedIndices.Count;i++)
        {
            txtBox = new TextBox[checkedListBox1.CheckedIndices.Count];
            labels = new Label[checkedListBox1.CheckedIndices.Count];

            labels[i] = new Label();
            labels[i].Text = i.ToString();
            tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.AutoSize));
            tableLayoutPanel.SetCellPosition(labels[i], new TableLayoutPanelCellPosition(0, n++));
            tableLayoutPanel.Controls.Add(labels[i]);

            txtBox[i] = new TextBox();
            tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.AutoSize));
            tableLayoutPanel.SetCellPosition(txtBox[i], new TableLayoutPanelCellPosition(0, n++));
            tableLayoutPanel.Controls.Add(txtBox[i]);

        }
        Controls.Add(tableLayoutPanel);
        testForm.ShowDialog();
    }

有什么建议吗? 谢谢您的投入。

1 个答案:

答案 0 :(得分:0)

解决方案是将代码更改为:

testForm.Controls.Add(tableLayoutPanel);