AUTOMATIZAR A TELA DE CADASTRO

MARCELOKROL 11/08/2011 08:04:07
#381331
Olá pessoal estou migrando o meu projeto para vb.net e surgiu uma duvida. Vejam a tela abaixo

http://img12.imageshack.us/img12/692/semttulojli.png

Tem como ao chegar em um campo (gotfocus) o form pegar automaticamente uma propriedade do controle texto, por exemplo a TAG e colocar o conteudo dela no label abaixo, e au sair limpar essa label se necessario e colocar a outra, mais observando que eu queria fazer automaticamente,[txt-color=#e80000] sem usar gotfocus e lostfocus[/txt-color] para cada controle.
KURTGU 11/08/2011 08:16:21
#381335
Foto do Carinha ai de cima....
KERPLUNK 11/08/2011 09:00:06
#381342
Pra mim, parece que vc quer fazer uso de uma StatusBar
MARCELOKROL 11/08/2011 09:59:18
#381350
obrigado KURTGU não tinha conseguido colocar ela no post.

prezado KERPLUNK, isso mesmo, seria quase isso, so que invés de usar uma status bar, queria usar uma label, pois todos os forms ja esta padronizados assim, entao queria uma fonção que verificasse quando o foco chegasse ao controle, isso automaticamente, sem got e lostfocus, e mostrasse o conteudo da propriedade tag (por exemplo) do controle nesta label, ou se tiver um outro jeito, mais tambem automatico, fico grato.

Peço automatico pois queria diminuir o codigo nos forms, ja pensou um codigo gotfocus e lostfocus para cada controle, ficaria muito massante e extenso sem necessidade se tivesse algo mais simples.

obrigado

KERPLUNK 11/08/2011 10:16:22
#381355
Citação:

Peço automatico pois queria diminuir o codigo nos forms, ja pensou um codigo gotfocus e lostfocus para cada controle, ficaria muito massante e extenso sem necessidade se tivesse algo mais simples.



é justamente por isso que se usa uma StatusBar ao invés de um label. Esse é o controle correto para fazer o que vc quer. Usar um label, até funciona, mas não é o ideal. Imagine que o que vc está fazendo é tentar serrar uma tábua usando uma chave de fenda. Até dá, mas é muito mais trabalho...
MARCELOKROL 11/08/2011 10:28:12
#381358
é concordo, eu não tentei usar um statusbar, estou sem vb aqui, assim que fazer uns testes posto o resultado, mais sinceramente, não sei como fazer, mais prometo tentar e postar o resultado para ficar documentado aqui no forum.
FILMAN 11/08/2011 12:40:37
#381374
Assim eu sei que funciona
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
StatusBar1.Panels(1).Text = Command1.ToolTipText
End Sub


Tenta assim também No ACTIVE do FORM
Private Sub ToolTip_Controle(objControle As Control)
[ô]
If Not Screen.ActiveControl Is Nothing Then
[ô]
If Screen.ActiveControl = objControle Then
StatusBar1.Panel(1).Text = objControle.ToolTipText
End If
[ô]
End If
[ô]
End Sub



Tenta Ai
MARCELOKROL 13/08/2011 07:55:29
#381635
Só pra documentar o que tinha prometido quando conseguisse realizar o que desajava segue o exemplo de um focus e um lost para todos os controles.

gostaria de receber comentários sobre este processo e se tiver algo melhor para execução do mesmo, mandem ai que eu agradeço
RICART 13/08/2011 08:12:18
#381636
Resposta escolhida
Vc não precisa criar uma sub para cada controle do seu form. Vc utiliza a mesma sub para todos, veja o exemplo:

Veja na parte marcada de azul, que passei todos os controles dos quais eu quero que ocorra quando o cursor chegar aos mesmos.

Fiz com label em um objeto StatusStrip pra facilitar pra vc.

Private Sub TextBox1_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles [txt-color=#0000f0]TextBox1.Enter, TextBox2.Enter[/txt-color]
ToolStripStatusLabel1.Text = sender.tag

End Sub
PEGUDO 13/08/2011 09:13:12
#381639
Eu criaria uma SUB assim:
Public Sub Catar(ByVal QualControle As Control)
LabelStatus.Text = QualControle.Text
End Sub


E colocaria este código dentro de um timer, assim:
For Each Controle As Control In Me.Controls
If Controle.Focused = True Then
Timer1.Enabled = False [txt-color=#007100][ô]Apenas para parar o Timer [/txt-color]
Catar(Controle)
Timer1.Enabled = True [txt-color=#007100][ô]Reinicia o Timer após ter concluído a execução do código acima[/txt-color]
End If
Next
MARCOSLING 13/08/2011 10:40:09
#381645
Citação:

:
Vc não precisa criar uma sub para cada controle do seu form. Vc utiliza a mesma sub para todos, veja o exemplo:

Veja na parte marcada de azul, que passei todos os controles dos quais eu quero que ocorra quando o cursor chegar aos mesmos.

Fiz com label em um objeto StatusStrip pra facilitar pra vc.

Private Sub TextBox1_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles [txt-color=#0000f0]TextBox1.Enter, TextBox2.Enter[/txt-color]
ToolStripStatusLabel1.Text = sender.tag

End Sub



O delegate é a opção mais interessante.
Página 1 de 2 [11 registro(s)]
Tópico encerrado , respostas não são mais permitidas