SETFOCUS

GESSINGER 10/03/2010 16:57:03
#336576
no meu form tenho 2 txt , text1 e text2

ao executar o projeto o foco esta em text1
Minha duvida é:

coloquei assim text2.Sefocus, para deixar o foco na txt2 e da erro:

Run Time error 5:
Invalid procedure call or argument.............o que acontece ?
NETMANIA 10/03/2010 17:08:59
#336580
Isso em qual linguagem? VB6, VB.Net, C#, ASP, ASP.Net?
GESSINGER 10/03/2010 17:20:29
#336582
visual b 6
GESSINGER 10/03/2010 20:00:58
#336596
e se eu tiver 3 txt o foco tiver no text3, e dependendo de uma <condição>
eu quiser passar o foco pra text11 .....Como fazer ?
TECLA 10/03/2010 22:45:04
#336605
Resposta escolhida
On Erro Resume Next
Text3.SetFocus
ASHKATCHUP 10/03/2010 23:07:28
#336611
Eu uso uma função, mas o bom e velho [ô]on error[ô] ja resolve


Private Sub sub_Foco_Controle(objControle As Control)
[ô]
If Not Screen.ActiveControl Is Nothing Then
[ô]
If Screen.ActiveControl <> objControle Then
objControle.SetFocus
End If
[ô]
End If
[ô]
End Sub
PEGUDO 11/03/2010 06:07:24
#336619
Para mudar o foco da Text3 para a Text1, dependendo de uma condição:

[txt-color=#0000f0]Private Sub[/txt-color] Text3_Change()
[txt-color=#0000f0]If[/txt-color] Len(Text3.Text) = 4 [txt-color=#0000f0]Then[/txt-color] Text1.SetFocus
[txt-color=#0000f0]End Sub[/txt-color]

A condição acima é: Se o conteúdo de Text3 for iqual a 4 então focalize na Text1.
ROBIU 13/03/2010 09:38:15
#336870
Citação:

no meu form tenho 2 txt , text1 e text2

ao executar o projeto o foco esta em text1
Minha duvida é:

coloquei assim text2.Sefocus, para deixar o foco na txt2 e da erro:

Run Time error 5:
Invalid procedure call or argument.............o que acontece ?



Eu não sei em que pé está este tópico, mas a solução para o erro é o seguinte.

O Text2 está com a propriedade Enabled=False. Você não pode passar o foco para um TextBox desabilitado.Verifique se há necessidade do controle está desabilitado ou foi um acidente. Caso seja necessário está desabilitado, quando usar o setfocus, habilite antes:

Text2.Enabled=True
Text2.Setfocus
WHELLNET 13/03/2010 13:05:21
#336878
Ou o seguinte:
Como se trata de condição, você provalmente está a definindo no evento Form_Load.
O problema é que neste evento, os objetos ainda estão em fase de criação para o VB e por esse motivo ocorre o erro.

Solução
Coloque esse tratamento no evento Form_Activate .
Aqui, somente ocorrerá o erro que o text estiver com Enabled ou Visible = False
Tópico encerrado , respostas não são mais permitidas