[VB6] Dúvida TextBox

WinAce_Boy

Power Member
Oi pessoal,
O projecto tem:

1 form
2 textbox

Como faço para no keypress do 1º texto, quando carrego na tecla backspace, é retirado o último carácter que foi inserido na 2º textbox do 2º textbox?

Obrigado pela atenção ;)
Abraços
 
Não exactamente mas ajudou o bastante obrigado man..
Já agora, esse codigo retira o ultimo caracter da textbox. Como faço para:
eu tenho um numero incerto de caracteres na 1ª textbox que de certeza vai ser igual ao da 2ª. como faço para quando carrego no backspace retiro na 2ª textbx, em vez de ser o ultimo caracter, ser o mesmo(falando em sitio(por exemplo o segundo caracter da 1ª textbox ou o penultimo, etc..) e nao em valor)

Obrigado pela atencao
Abraços
 
Última edição:
tens de usar o evento keypress

Código:
   Private Sub txtnome_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtnome.KeyPress

       
        Me.Lblinf_nome.Text = " Digite apenas caracteres Letras , espaço, ou back space"

        If Not Char.IsLetter(e.KeyChar) And Not e.KeyChar = Convert.ToChar(32) _
           And Not e.KeyChar = Convert.ToChar(8) Then

            e.Handled = True
        End If

       


    End Sub
este so aceita numeros , backspace e espaço

ha mais formas de fazer

esta é apanas uma

esperoq ue ajude


tens aqui uma tabela do codigo ascii para brincares com o keypress
 
Última edição:
Se bem te percebi, queres que, ao escrever um caracter qualquer na text1, ele escreve no mesmo lugar onde estava o cursor na text1 na text2.
Isso é um bom desafio :P acho que vou tentar fazer isso. Parece-me ligeiramente complicado, o que aumenta a piada :D

Quando conseguir, posto de novo ;)
 
É um pouco complicado, é. Tem bastantes erros, mas acho que é algo assim que queres:

Código:
Option Explicit

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)

    Dim PosicaoActual As Integer

    Text1.SelLength = 0

    If KeyCode = vbKeyDelete Then
        PosicaoActual = Text1.SelStart
        Text2.Text = _
            Left(Text2.Text, PosicaoActual) & _
            Mid(Text2.Text, PosicaoActual + 2)
    End If

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)

    Dim PosicaoActual As Integer

    PosicaoActual = Text1.SelStart
    Text1.SelLength = 0

    If KeyAscii = vbKeyDelete Then
        MsgBox "delete"
    End If

    If KeyAscii = 8 Then 'backspace
        If Not PosicaoActual = 0 Then Text2.Text = Left(Text2.Text, PosicaoActual - 1) & Mid(Text2.Text, PosicaoActual + 1)
    Else
        Text2.Text = Left(Text2.Text, PosicaoActual) & Chr(KeyAscii) & Mid(Text2.Text, PosicaoActual + 1)
    End If

End Sub
(mete duas TextBoxes)

Acho que a tua ideia é escreveres "1" na primeira caixa e na segunda aparece automaticamente "2", por exemplo (em vez de escrever Chr(KeyAscii) seria Chr(KeyAscii+1)? :P )

Só não me dou ao trabalho de melhorar porque 1) não tenho tempo e 2) não preciso :P
Agora se quiseres, melhora-o tu ;)
 
Última edição:
Back
Topo