按名称无法访问Panel中动态创建的TextBox

时间:2016-02-11 12:48:20

标签: c# winforms visual-studio

我在面板中添加了一些动态创建的TextBox元素,如下所示

            for(int index=0; index<textBoxArray.Length; index++)
            {
                panel_textbox.Controls.Add(textBoxArray[index]);
            }

textBoxArray包含名称为txt_1,txt_2的TextBox对象 现在,当我尝试使用以下代码访问文本框时

panel_textbox.Controls.Find("txt_1")[0].Visible = true;

找不到TextBox。我正在使用C#,它是一个Windows应用程序。

2 个答案:

答案 0 :(得分:0)

尝试搜索所有孩子。

    <?php $loop = new WP_Query( array( 'post_type' => 'course_downloads', 'orderby' => 'files', 'order' => 'ASC') ); ?>

panel_textbox.Controls.Find("txt_1",true)[0].Visible = true;

答案 1 :(得分:0)

假设您已完成以下操作,我发现代码没有问题....在WinForm应用程序的Panel中可以看到10个文本框

 TextBox[] array = new TextBox[10];int count=0;
        for (int i = 0; i <= 45;i+=5 )
        {
            TextBox textBox = new TextBox()
            {

                Name = "txt_" + count,
                Margin = new System.Windows.Forms.Padding(10+i,15+i,0,0),

                Text="Hello "+count,
                Height = 10,
                Width = 100
            };
            array[count++] = textBox;
        }
        for (int i = 0; i < array.Length;i++ )
        {
            panel1.Controls.Add(array[i]);
        }
           (panel1.Controls.Find("txt_0", false)[0]).Visible = false;