有没有办法以编程方式更改几个文本框readonly属性

时间:2008-12-10 06:31:30

标签: .net

有没有办法在.net中以编程方式更改多个textbox readonly属性。

5 个答案:

答案 0 :(得分:2)

假设您的文本框都以相同的前缀开头并存在于页面控件集合中:

string commonTextBoxPrefix = "txt";
foreach (Control c in this.Controls)
{
    if (c.GetType() == typeof(TextBox) &&
        c.Name.StartsWith(commonTextBoxPrefix))
    {
        ((TextBox)c).ReadOnly = True;
    }
}

这不会递归整个控制层次结构,但是:)

答案 1 :(得分:0)

您可以将它们作为数组加载并使用循环

进行更改

答案 2 :(得分:0)

是,

txt.Attributes["ReadOnly"] = "true";

只需使用循环:)

或您的控件标记中没有该属性。

您可以使用该代码

txt.Attributes.Add("ReadOnly","true");

答案 3 :(得分:0)

您可以将文本框的名称加载到列表中并以这种方式更改它们,或者将文本框对象加载到列表中并进行更改。

foreach(TextBox txt in List<TextBox>)
{
    txt.ReadOnly = true;
}

答案 4 :(得分:0)

是的。

将每个文本框添加到数组中,然后循环遍历更改属性的数组。

例如:

Dim textBoxes() As TextBox = {TextBox1, TextBox2, TextBox3}
For Each item As TextBox In textBoxes
    item.ReadOnly = True
Next