BLOQUEAR DIVERSOS TEXTBOX DE UMA VEZ SÓ

MARCONDES 25/06/2014 09:54:36
#439155
Olá novamente

No VB6 quando eu tinha diversos textbox em formulário e queria bloquea-los todos de uma vez eu simplesmente colocava todos os textbox dentro de um frame e bloquava o frame, assim todos os textbox ficavam com fundo branco e bloqueados.

A dúvida é , não consigo fazer isso em VB.NET ? só encontrei a propriedade ReadOnly mas no caso teria que fazer um por um, lembrando que talvez eu queira bloquear 10 textbox e deixar 5 sem bloquear.

Obrigado
JABA 25/06/2014 12:34:31
#439158
Panel é um controle que contém outros controles. Você pode usar Panel para agrupar coleções de controles . Como com outros controles de contêiner como o controle de GroupBox , se a propriedade de Enabled de controle de Panel é definida como false, os controles contidos dentro de Panel serão desativados também.
MARCONDES 25/06/2014 13:35:57
#439161
Citação:

:
Panel é um controle que contém outros controles. Você pode usar Panel para agrupar coleções de controles . Como com outros controles de contêiner como o controle de GroupBox , se a propriedade de Enabled de controle de Panel é definida como false, os controles contidos dentro de Panel serão desativados também.



O problema que quando desabilito o controle todos os controles dentro do mesmo ficam com a cor cinza claro (Apagado) dificultando a leitura.
é diferente do frame do VB6 que mantém os controles com a mesma perspectiva.
NAUTILUZ 25/06/2014 14:27:05
#439163
Pensei aqui comigo já que não quer desabilitar os objetos,
poderia posicionar um SHAPE ou objeto Image acima de todos quando fosse o momento de bloquear
Assim penso me desculpem pois só uso VB6 meu Hobe..
CRACKER 26/06/2014 09:16:17
#439184
Existe uma maneira mais simples e rápida, se queres desativar apenas as textbox num único form, podes sempre usar este código, que é o que eu uso e não tenho problemas com ele:

Dim c As Control
For Each c In Me.Controls
If TypeOf c Is TextBox Then
c.Enabled = False
End If
Next


ou então, como nem todos os controles no formulário são caixas de texto, por isso sempre, dentro do loop, um controle é atribuído a [Ô]c[Ô], que não é uma caixa de texto, um InvalidCastException
ocorre. Em vez disso, pode usar:

  dim o as object
for each o in me.controls
if typeof o is textbox then
directcast(o, textbox).enabled = false
end if
next
CRACKER 26/06/2014 09:23:01
#439185
No caso das textbox[ô]s estarem inseridas num groupbox, basta para isso desativar o groupbox com o meu 1º exemplo.
MARCONDES 26/06/2014 13:45:01
#439200
Citação:

:
No caso das textbox[ô]s estarem inseridas num groupbox, basta para isso desativar o groupbox com o meu 1º exemplo.



Obrigado pela resposta mas mesmo assim não dá certo.
No caso quando bloqueio o groupBox os textbox ficam com fundo branco porém o texto dentro do textbox fica cinza.
E utlizando a função que postou eu não consegueria desativar 10 textbox e deixar 10 habilitado entendeu, daria o mesmo trabalho.

Deu pra entender ?
JCM0867 26/06/2014 21:02:39
#439218
dim incluir as boolean

incluir = True

text1.enabled = Incluir
text2.enabled = Incluir
text3.enabled = Not Incluir

Se incluir = Verdadeiro
habilita dois txtbox e desabilita um texbox
MARCONDES 27/06/2014 10:11:21
#439233
Citação:

:
dim incluir as boolean

incluir = True

text1.enabled = Incluir
text2.enabled = Incluir
text3.enabled = Not Incluir

Se incluir = Verdadeiro
habilita dois txtbox e desabilita um texbox



Obrigado pela resposta mas eu queria utilizar o frame justamente para não precisar fazer isso um a um ok.
Já vi que nesse caso o Vb6 supera o VB.NET.
Vou continuar a empreitada no VB.NET.
TUNUSAT 27/06/2014 11:25:16
#439234
MARCONDES,

Aqui no fórum eu me lembro que uma pessoa colocou um post explicando como tirar o [Ô]cinza[Ô] através de uma gambiware ... mas não lembro o nome da pessoa e nem o tópico do fórum! Mas acho que foi este ano.

[][ô]s,
Tunusat.
MARCONDES 27/06/2014 16:02:22
#439245
Citação:

:
MARCONDES,

Aqui no fórum eu me lembro que uma pessoa colocou um post explicando como tirar o [Ô]cinza[Ô] através de uma gambiware ... mas não lembro o nome da pessoa e nem o tópico do fórum! Mas acho que foi este ano.

[][ô]s,
Tunusat.



Obrigado, vou dar uma olhadinha mas pelo jeito vai ser bloquear um a um mesmo.
Página 1 de 2 [13 registro(s)]
Faça seu login para responder