有没有办法在.net中以编程方式更改多个textbox readonly属性。
答案 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