Есть ли способ изменить атрибут только для чтения нескольких TextBox в программно

голоса
0

Есть ли способ изменить атрибут только для чтения нескольких TextBox в программно в .net.

Задан 10/12/2008 в 07:31
источник пользователем
На других языках...                            


5 ответов

голоса
2

Если предположить, что все текстовые поля начинаются с той же приставкой и существует в коллекции элементов управления страницы:

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

Это не рекурсия всей иерархии управления, хотя :)

Ответил 10/12/2008 в 08:48
источник пользователем

голоса
0

Да, есть.

Добавьте все текстовое поле в массив, а затем цикл через массив изменения атрибутов.

Например:

Dim textBoxes() As TextBox = {TextBox1, TextBox2, TextBox3}
For Each item As TextBox In textBoxes
    item.ReadOnly = True
Next
Ответил 10/12/2008 в 08:03
источник пользователем

голоса
0

Вы можете загрузить имена текстовых полей в список и изменить их таким образом, или загружать объекты TextBox в список и изменить их.

foreach(TextBox txt in List<TextBox>)
{
    txt.ReadOnly = true;
}
Ответил 10/12/2008 в 07:35
источник пользователем

голоса
0

Да,

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

Просто используйте цикл для этого :)

или вы не имеете этот атрибут в элементах управления тегами.

Вы можете использовать этот код

txt.Attributes.Add("ReadOnly","true");
Ответил 10/12/2008 в 07:35
источник пользователем

голоса
0

Вы можете загрузить их в массив и изменить их с помощью петли

Ответил 10/12/2008 в 07:33
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more