COMO GUARDAR CONTEUDO DE VARIAVEL E RECUPERAR

PROGRAMADORVB6 12/05/2011 13:20:29
#373777
Olá galera.
Estou com um probleminha no Keypress da minha textbox1, não consigo fazer com que me aceite todos os valores e ao mesmo tempo se necessitar de teclar um Escape ou através do botão cancelar me possa reaver o seu conteudo inicial antes de proceder á alteração do conteudo da textbox1.
Alguém tem ideia de um processo eficiente ?

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Dim VariavelGuardada as string=Textbox1.text
Select Case e.KeyChar
Case Is = ChrW(Keys.Enter)
TextBox2.Focus()
Case Is = ChrW(Keys.Escape)
Textbox1.text= VariavelGuardada
Case Else
TextBox1.Text = e.KeyChar
End Select
End Sub


Grato desde já pela vossa ajuda.
ProgramadorVB6
JONATHANSTECKER 12/05/2011 13:34:30
#373778
Resposta escolhida
Public Class Form1
Private VariavelGuardada As String = String.Empty

[ô] No evento GotFocus passe o valor do TextBox
Private Sub TextBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.GotFocus
Me.VariavelGuardada = Me.TextBox1.Text
End Sub

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Select Case e.KeyChar
Case Is = ChrW(Keys.Enter)
TextBox2.Focus()
Case Is = ChrW(Keys.Escape)
TextBox1.Text = VariavelGuardada
End Select
End Sub

End Class
FOXMAN 12/05/2011 14:40:38
#373786
Citação:

:
Olá galera.
Estou com um probleminha no Keypress da minha textbox1, não consigo fazer com que me aceite todos os valores e ao mesmo tempo se necessitar de teclar um Escape ou através do botão cancelar me possa reaver o seu conteudo inicial antes de proceder á alteração do conteudo da textbox1.
Alguém tem ideia de um processo eficiente ?

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Dim VariavelGuardada as string=Textbox1.text
Select Case e.KeyChar
Case Is = ChrW(Keys.Enter)
TextBox2.Focus()
Case Is = ChrW(Keys.Escape)
Textbox1.text= VariavelGuardada
Case Else
TextBox1.Text = e.KeyChar
End Select
End Sub


Grato desde já pela vossa ajuda.
ProgramadorVB6



Amigo,

As variaveis declaradas dentro de blocos específicos somente estão visíveis dentro dos referidos blocos.
Para deixá-la visivel em todo o formulário declare-a no inicio da classe do formulário.
Para deixá-la visível em todo o projeto basta declarar a variável do tipo PUBLIC em um módulo.
PROGRAMADORVB6 13/05/2011 03:43:44
#373831
Citação:

:

Public Class Form1
Private VariavelGuardada As String = String.Empty

[ô] No evento GotFocus passe o valor do TextBox
Private Sub TextBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.GotFocus
Me.VariavelGuardada = Me.TextBox1.Text
End Sub

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Select Case e.KeyChar
Case Is = ChrW(Keys.Enter)
TextBox2.Focus()
Case Is = ChrW(Keys.Escape)
TextBox1.Text = VariavelGuardada
End Select
End Sub

End Class




Olá JONATHANSTECKER
Exprimentei o exemplo que vc me passou e estranhamente ao teclar em qualquer tecla, o focu fica na textbox2 quando o que eu pretendia era só quando pressiona-se na tecla Enter.
Obrigado desde já pela vossa atenção e compreenção.
Atentamente.
Programadorvb6
PROGRAMADORVB6 13/05/2011 05:00:17
#373834
Olá pessoal.
Seguindo o conselho dos nossos dois amigos programadores fiz assim :

Ao que o nosso colega FOXMAN deu a dica :
Module Module1
Public PreservarUser As String = Configurar.TextBox1.Text
Public PreservarPass As String = Configurar.TextBox2.Text
End Module


Depois aproveitei parte do código do nosso colega JONATHANSTECKER colocou.

Para reter o conteúdo das TextBox :

 Private Sub TextBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.GotFocus
PreservarUser = TextBox1.Text
PreservarPass = TextBox2.Text
GravarDados.Text = [Ô]Gravar[Ô]
Sair.Text = [Ô]Cancelar[Ô]
TextBox2.UseSystemPasswordChar = False
TextBox1.ReadOnly = False
End Sub
Private Sub TextBox2_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox2.GotFocus
PreservarUser = TextBox1.Text
PreservarPass = TextBox2.Text
GravarDados.Text = [Ô]Gravar[Ô]
Sair.Text = [Ô]Cancelar[Ô]
TextBox2.UseSystemPasswordChar = False
TextBox1.ReadOnly = False
End Sub


Por fim fiz esta função para recuperar os valores das TextBox quando pressionada a tecla Escape e também a criação do focu na caixa seguinte. (Caso tenha + TextBox indexe primeiro a tabulação e use o comando : SendKeys.Send([Ô]{Tab}[Ô]) )

  Protected Overrides Function ProcessDialogKey(ByVal keyData As System.Windows.Forms.Keys) As Boolean
Select Case (keyData)
Case Keys.Control
Return True
Case Keys.Enter
TextBox2.Focus() [ô] SendKeys.Send([Ô]{Tab}[Ô]) para + do que 2 TextBox
Case Keys.Escape
TextBox1.Text = PreservarUser.ToString
TextBox2.Text = PreservarPass.ToString
Return True
End Select
Return MyBase.ProcessDialogKey(keyData)
End Function


Grato desde já pela vossa atenção e paciência.
Obrigado por tudo a todos vós.
Atentamente.
Programadorvb6
Tópico encerrado , respostas não são mais permitidas