Existe uma maneira de alterar o atributo somente leitura vários caixa de texto programaticamente

votos
0

Existe uma maneira de alterar o atributo somente leitura vários caixa de texto programaticamente em .net.

Publicado 10/12/2008 em 07:31
fonte usuário
Em outras línguas...                            


5 respostas

votos
2

Assumindo as suas caixas de texto todos começam com o mesmo prefixo e existem na coleção de controles de página:

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

Isto não irá recorrer a hierarquia de controle inteira embora :)

Respondeu 10/12/2008 em 08:48
fonte usuário

votos
0

Sim existe.

Adicionar cada caixa de texto para uma matriz, e, em seguida, percorrer a matriz alterando os atributos.

Por exemplo:

Dim textBoxes() As TextBox = {TextBox1, TextBox2, TextBox3}
For Each item As TextBox In textBoxes
    item.ReadOnly = True
Next
Respondeu 10/12/2008 em 08:03
fonte usuário

votos
0

Você poderia carregar os nomes das caixas de texto em uma lista e alterá-las dessa forma, ou carregar os objetos de caixa de texto em uma lista e alterá-las.

foreach(TextBox txt in List<TextBox>)
{
    txt.ReadOnly = true;
}
Respondeu 10/12/2008 em 07:35
fonte usuário

votos
0

Sim,

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

Basta usar um loop para que :)

ou você não tem esse atributo em seus controles tags.

você pode usar esse código

txt.Attributes.Add("ReadOnly","true");
Respondeu 10/12/2008 em 07:35
fonte usuário

votos
0

Você pode carregá-los como uma matriz e alterá-las com um laço

Respondeu 10/12/2008 em 07:33
fonte usuário

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