MASCARA CONTA /AGENCIA BANCARIA

 Tópico anterior Próximo tópico Novo tópico

MASCARA CONTA /AGENCIA BANCARIA

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#474037 - 17/05/2017 22:37:28

MAXCIM
GUARULHOS
Cadast. em:Dezembro/2003


Olá amigos

como eu monto uma função para implementar ao digitar no textbox  uma mascara para conta bancaria.

a ideia é   manter o " -" fixo  nos casos de banco com digito.

exemplo:
-1
1-2
12-5
125-6
1256-9



#476236 - 01/09/2017 18:17:57

MAXCIM
GUARULHOS
Cadast. em:Dezembro/2003


e ai gente?   nenhuma ideia?

o modulo de cadastro de cheques e de CNAB precisam que agencia e conta sejam preenchidos de forma correta.

e meu clientes   não preenchem o -  do digito  e vira e mexe da erro de validação.


se eu fizer um campo  com auto formatação seria o ideal.





Resposta escolhida #476238 - 01/09/2017 20:21:09

DS2T
BARRA MANSA
Cadast. em:Novembro/2010


Você poderia fazer algo +- assim:

Public Class MeuMaskedAgencia
    Inherits TextBox

    Private temp As String

    Protected Overrides Sub OnKeyDown(e As KeyEventArgs)
        MyBase.OnKeyDown(e)

        e.Handled = True

        If e.KeyCode = Keys.Back Then
            If temp.Length > 0 Then
                temp = temp.Remove(temp.Length - 1, 1)
                MostraValor()
            End If
        End If

    End Sub


    Protected Overrides Sub OnKeyPress(e As KeyPressEventArgs)
        MyBase.OnKeyPress(e)

        e.Handled = True
        If Char.IsNumber(e.KeyChar) Then
            temp = String.Concat(temp, e.KeyChar)
            MostraValor()
        End If

    End Sub

    Private Sub MostraValor()


        If temp.Length > 0 Then
            Dim esquerda As String = String.Empty
            Dim direita As String = temp.Substring(temp.Length - 1, 1)

            If temp.Length > 1 Then
                esquerda = temp.Substring(0, temp.Length - 1)
            End If

            Me.Text = String.Concat(esquerda, "-", direita)
            Me.SelectionStart = Me.Text.Length
        Else
            Me.Text = String.Empty
        End If

    End Sub

End Class



Mas melhore o código, comece a tratar também quando o usuário apagar uma seleção, ou quando ele digitar por cima de uma seleção, por exemplo...
Fiz meio na correria.

Abraços!

"Cansei de frases intelectuais" - Eu mesmo


 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por MAXCIM em 07/10/2017 11:58:27