Usuário com melhor resposta
Bloqueando Campos/GroupBox

Pergunta
-
Olá amigos, boa dia.
Estou com uma duvida e gostaria da ajuda de vocês.
Tenho um groupbox e dentro deles varios campos do tipo textbox e alguns do tipo combobox.
Gostaria de abrir um formulário com todos os campos que estão dentro do groupbnox bloqueados para edição e somente quando fosse clicado algum botão os mesmos ficassem livres para edição.
Já tentei a propriedade enabled = false, porem o aspecto visual não fica legal, dando a impressão que o campo está desabilitado.
A propriedade readonly atende (mesmo tendo que mudar a cor de fundo do campo para manter o mesmo aspecto de um campo normal) porem nao atende para os campos do tipo combobox.
Gostaria de bloquear todo o groupbox, para nao ter que mudar a propriedade de cada campo.
Obrigado pela ajuda.
Respostas
-
Alvaro,
Infelizmente não existe propriedade ou método que desabilite todos os controles dentro um GroupBox, isso terá que ser feito na mão, oque pode ser feito para amenizar isso é criar um método responsavel por isso, exemplo:
public static void ReadonlyControls(GroupBox group, bool enable) { foreach (Control c in group.Controls) { if (c is TextBox) { ((TextBox)c).ReadOnly = !enable; } if (c is CheckBox) { ((CheckBox)c).Enabled = enable; } if (c is ComboBox) { c.Enabled = enable; } } }
Agora é só usar:
ReadonlyControls(meuGroupbox,false);
Vitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/- Marcado como Resposta Alvaro Vieira terça-feira, 2 de abril de 2013 13:59
Todas as Respostas
-
Alvaro,
Infelizmente não existe propriedade ou método que desabilite todos os controles dentro um GroupBox, isso terá que ser feito na mão, oque pode ser feito para amenizar isso é criar um método responsavel por isso, exemplo:
public static void ReadonlyControls(GroupBox group, bool enable) { foreach (Control c in group.Controls) { if (c is TextBox) { ((TextBox)c).ReadOnly = !enable; } if (c is CheckBox) { ((CheckBox)c).Enabled = enable; } if (c is ComboBox) { c.Enabled = enable; } } }
Agora é só usar:
ReadonlyControls(meuGroupbox,false);
Vitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/- Marcado como Resposta Alvaro Vieira terça-feira, 2 de abril de 2013 13:59
-