AJUDA COM MUDANCA DE FOCO E MASCARA

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

AJUDA COM MUDANCA DE FOCO E MASCARA

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#420381 - 13/03/2013 11:57:45

DAMASCENO.CESAR
ADAMANTINA
Cadast. em:Fevereiro/2009


Bom dia pessoal, tou com um problema e gostaria de saber se alguem tem a solucao, o seguinte:
tenho a rotina no KeyPress do form que muda o foco com a tecla Enter, blz funciona
      
      Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
                 If e.KeyChar = Chr(13) Then
                        SendKeys.Send([]{TAB}[])
                        e.Handled = True
                End If
    End Sub

tenho uma rotina pra limpar os controles do form, blz funciona

Public Sub LimpaForm(ByRef Frm As Form)
        Dim A
        For A = 0 To Frm.Controls.Count - 1
            If TypeOf (Frm.Controls(A)) Is TextBox Then
                Frm.Controls(A).text = [][]
            End If
            If TypeOf (Frm.Controls(A)) Is MaskedTextBox Then
                Frm.Controls(A).text = [][]
            End If
            If TypeOf (Frm.Controls(A)) Is ComboBox Then
                Frm.Controls(A).SelectedIndex = -1
            End If
        Next
    End Sub

tambm ponho o evento

Private Sub MskData_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles MskData.GotFocus
        MskData.SelectAll()
    End Sub

o problema que quando limpo o form e depois mudo o foco atraves da tecla Enter, o MaskEdBox perde a configurao da mscara, apagando o conteudo
e a mascara e s vezes trava a digitao. se no evento KeyPress eu tirar a linha: e.Handled = True, o MaskEdBox funfa normal, mas d aquele bip chato, tem como resolver?
OBS: j passei o valor da mscara para variavel e depois retornei, j usei o SelectStart=0  com SelectionLength= Len(MskData.mask)
e continuou o mesmo problema, se tiver solucao pra usar estas tres rotinas ao mesmo tempo me avisem, se no tiver soluo, tambm me avisem!
Obrigado

O conhecimento como o dinheiro: quanto mais temos, mais queremos ter (Josh Billings)  


#420975 - 24/03/2013 19:55:49

DAMASCENO.CESAR
ADAMANTINA
Cadast. em:Fevereiro/2009


Pessoal, Criei este tpico mas no tive respostas, se alguem puder ajudar!?!?!?!?!?

O conhecimento como o dinheiro: quanto mais temos, mais queremos ter (Josh Billings)  


#420978 - 24/03/2013 21:15:19

NILSONTRES
SAO PAULO
Cadast. em:Março/2012


Última edição em 24/03/2013 21:16:20 por NILSONTRES

Tenho at um topico ai, faz tempo, e nunca alguem descobriu, realmente um bug do controle MaskEdBox.
O que eu fiz:

Private Sub Frm_Orca_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
        Select Case ActiveControl.Name
            Case [] Mask_1[], [] Mask_2[]

            Case Else
                If e.KeyChar = Convert.ToChar(13) Then
                    e.Handled = True
                    SendKeys.Send([]{TAB}[])
                End If
        End Select
    End Sub
Isso impede o efeito nas Mask

E nas  Mask, vc coloca
Private Sub Mask_1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TXT_CNPJ_T.KeyPress
        If e.KeyChar = Convert.ToChar(13) Then
            e.Handled = True
            SendKeys.Send([]{TAB}[])
        End If
    End Sub

Isso resolve.



#420982 - 25/03/2013 07:40:59

PEGUDO
RIO DE JANEIRO
Cadast. em:Março/2009


Cara, eu fiz um teste aqui e no travou e nem perdeu mscara.
Veja:



Veja se te ajuda

Às vezes, para poder andar pra frente, o homem deve deixar tudo para trás

#420984 - 25/03/2013 08:29:00

JP_RAMOS
ADAMANTINA
Cadast. em:Abril/2004


PEGUDO

Como faz para aparecer esse linha tracejada entre fechando a sub ou if ?



#420985 - 25/03/2013 08:41:47

PEGUDO
RIO DE JANEIRO
Cadast. em:Março/2009


Citação:
:
PEGUDO

Como faz para aparecer esse linha tracejada entre fechando a sub ou if ?


Tem que baixar este plugin aqui e reiniciar o Visual Studio.

Linhas guias



Repare que as verses que funcionam so o Visual Studio 10 e 11

Às vezes, para poder andar pra frente, o homem deve deixar tudo para trás

#420987 - 25/03/2013 09:40:18

NILSONTRES
SAO PAULO
Cadast. em:Março/2012


PEGUDO,
que na verdade, eu acho que o que esta acontecendo com o DAMASCENO, o mesmo que acontece comigo, na verdade, no que perde a
mascara, perde a posio da mascara, se vc der um enter nela, e voltar nela de novo pelo focu normal, sempre comea a digitao em uma posio
errada, como ele disse que tentou selstart e coisas mais,

Se no for isso ento, desculpe.

Abrao



#420988 - 25/03/2013 09:46:20

NILSONTRES
SAO PAULO
Cadast. em:Março/2012


Citação:
Como faz para aparecer esse linha tracejada entre fechando a sub ou if ?      

Baixei, e instalei.
Puts, isso muito show de bola, eu que fico o tempo todo comentando e tentando mil coisas, para deixar o codigo bem interpretado, para possivel ajudante
e herdeiro, isso ai otimo.

Valeu PEGUDO.




#420992 - 25/03/2013 10:39:32

PEGUDO
RIO DE JANEIRO
Cadast. em:Março/2009


Ok, NILSONTRES

Na verdade eu no tinha reparado que o DAMASCENO.CESAR comentou algo sobre SelStart.
Vamos ver se, quando ele fizer o teste, o exemplo poder ajud-lo.
Alm do mais, se ele limpa a MaskedTextBox com o  LimpaForm, no precisa selecionar nada no GotFocus do MaskedTextBox
e o parmetro do LimpaForm no deveria ser ByRef Frm As Form e sim ByVal Frm As Form.

Às vezes, para poder andar pra frente, o homem deve deixar tudo para trás

#421422 - 02/04/2013 14:20:05

DAMASCENO.CESAR
ADAMANTINA
Cadast. em:Fevereiro/2009


Pessoal, obrigado pela ajuda, mas vou desistir, nao funfou do jeito que eu queria.

O conhecimento como o dinheiro: quanto mais temos, mais queremos ter (Josh Billings)  


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


Tópico encerrado, respostas não sao permitidas
Encerrado por DAMASCENO.CESAR em 02/04/2013 14:20:50