DUVIDA: DEIXAR CAMPO TEXTBOX SELECIONAVEL

TSANALISTA 09/08/2012 10:58:17
#407565
Olá galera, gostaria de uma ajuda ai de como fazer para o meu form possa deixar os campos textbox pelo menos selecionável, todos os componentes estão em um TabPag vou mostrado na foto, mas a função que criei não possibilita que os campos possa ser selecionável....aguardo uma ajuda ai se poder...


Private Sub Desabilitatextbox()

tabp_DadosCadastrais.Enabled = True

If (ToolStrip_Salvar.Enabled = True) Then
tabp_DadosCadastrais.Enabled = False

txt_Nome_TabP_DadosPrincipais.Select()



End If

Deixo aqui o código do PasteBin :
http://pastebin.com/8weLZW5j

JABA 09/08/2012 12:53:57
#407581
Resposta escolhida
Faça o seguinte:

Ao invés de você desabilitar os Campos com enabled, faça isso com o ReadOnly.

Não me lembro muito bem como se faz, mas acho que é assim: TextBox1.ReadOnly = true

vlw
TSANALISTA 09/08/2012 14:21:48
#407585
Obrigado JABA...deu certo aqui, mas tipo teria alguma forma poder usar o For Each para poder fazer o ReadOnly em todas as textbox? Pois desta forma ai terei que chamar no toolstrip_Salvar todos as textbox com a propriedade ReadOnly... eu conseguir este procedimento que percorre nas textboxs para limpar...vai ai o código:

Private Sub DisableTextBoxes(ByVal form As Form)
Dim control As Control

For Each control In form.Controls
If (TypeOf control Is TextBox) Then control.Enabled = False
Next
End Sub

Gostaria de uma dica para poder deixar todas com a ReadOnly...obrigado
TSANALISTA 09/08/2012 14:23:26
#407586
Definindo a variável control om Is TextBox, o mesmo não consegue obter a propriedade readOnly ....mas acho que seria desta forma para poder fazer o que estou tentando conseguir..
JABA 09/08/2012 15:30:43
#407588
sim, é a mesma coisa para o ReadOnly.

Private Sub DisableTextBoxes(ByVal form As Form)
Dim control As Control
For Each control In form.Controls
If (TypeOf control Is TextBox) Then control.ReadOnly= True
Next
End Sub

A opção não deve aparece ali na hora de digitar (no intelisense) porque não é todo controle que tem o ReadOnly. Para isso você teria que fazer um Cast para TextBox. Ai sim, na hora de digitar, vai aparecer ai pra você.

vlw
TSANALISTA 09/08/2012 16:23:54
#407591
Meu brother sei que estou já abusando demais por aqui... teria como me explicar como fazer este Cast ai... por o que está acontecendo aqui na adicionando esta propriedade.....

Agradeço a Ajuda.......
TSANALISTA 09/08/2012 16:27:55
#407592
Tentei achar aqui na net algo parecido mais não encontrei sempre a forma de casting que mostrar é o básico para conversão de dados...
TSANALISTA 09/08/2012 16:39:45
#407594
Criei aqui este procedimento mais tipo, sou fraco em VB.NET e não sei como chamar este procedimento no meu button


Private Sub controlaTextBox(status As Boolean)
For Each c As TextBox In Me.Controls.OfType(Of TextBox)()
c.[ReadOnly] = status
Next
End Sub



Please......
JABA 09/08/2012 17:06:06
#407596
Esse metodo está como privado, ou seja, só vai rodar para o objeto que ele está inserido.
Se quiser chamar por outros forms ou objetos, você tem que torna-lo publico.

para chamar--> controlaTextBox(True)

OBS: Os TextBox já devem estar criados para que esse metodo posso funcionar perfeitamente.

vlw
TSANALISTA 09/08/2012 17:17:44
#407598
blz....vou testar aqui, mais uma vez muito obrigado....
TSANALISTA 10/08/2012 09:27:15
#407646
adicionei este procedimento mais ai olha o que acontece na chamada dele num button, chamando este procedimento booleano abaixo:

Private Sub controlaTextBox(ByVal status As Boolean)
For Each c As TextBox In Me.Controls.OfType(Of TextBox)()
c.[ReadOnly] = status
Next
End Sub


Mesmo se eu especificar :

Private Sub ToolStrip_Salvar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStrip_Salvar.Click
If (MsgBox([Ô]Tem certeza que deseja salvar este Cadastro?[Ô], MsgBoxStyle.OkCancel, [Ô]Salvar Cadastro[Ô]) = MsgBoxResult.Ok) Then
Gravar()

ControlaTextBox(status:=)

End If

End Sub

não funciona para deixar as textbox desativada mas selecionável... alguma dica?
Página 1 de 2 [19 registro(s)]
Tópico encerrado , respostas não são mais permitidas