操纵面板内的控件属性

时间:2014-03-23 06:35:32

标签: c# .net

我正在使用C#.Net和win表单编写桌面应用程序,我想在表单加载中制作一系列只读文本框,下面的代码不适用于formloa,但它适用于所有文本框中的形式。

        foreach(Control ctrl in this.Controls)
        { 
            if(ctrl is TextBox)
            {
                TextBox textbx = ctrl as TextBox; 
                if(textbx.ReadOnly == false)
                {
                    textbx.ReadOnly = true; 
                }
            }
        }            

但我想操纵Form1容器中的那些Textbox。我怎么能这样做?         }

1 个答案:

答案 0 :(得分:1)

你正在循环遍历Form1中的每个控件,所以当然你得到循环中的所有文本框。

如果将文本框放在像groupbox这样的容器中,那么可以使用foreach中的groupbox而不是整个Form1对象。

因此,您在表单和内部都有一个groupbox控件,您将拥有要设置为ReadOnly的文本框。

foreach(Control ctrl in myTextBoxContainer.Controls)
        { 
            if(ctrl is TextBox)
            {
                TextBox textbx = ctrl as TextBox; 
                if(textbx.ReadOnly == false)
                {
                    textbx.ReadOnly = true; 
                }
            }
        }