Você está aqui: C# ::: Windows Forms ::: MaskedTextBox |
Como usar o evento MaskInputRejected da classe MaskedTextBox para informar o usuário sobre caracteres não aceitosQuantidade de visualizações: 8846 vezes |
|
O evento MaskInputRejected da classe MaskedTextBox é disparado sempre que o usuário digita caracteres inválidos para a máscara de entrada. Ou seja, se o valor da propriedade Mask for "00/00/0000", então apenas os dígitos de 0 a 9 serão permitidos. Desta forma, sempre que tentamos digitar caracteres que não se enquadram nesta faixa, o evento MaskInputRejected é disparado. Veja um trecho de código mostrando como este evento pode ser usado em suas aplicações C#: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
private void maskedTextBox1_MaskInputRejected(object sender, MaskInputRejectedEventArgs e){
MessageBox.Show("Apenas dígitos de 0 a 9 são aceitos neste campo");
}
Note que o evento MaskInputRejected também é disparado (no .NET 3.0) quando a quantidade de caracteres permitidos excede o comprimento da máscara. Assim, é sempre uma boa ídeia emitir um aviso relacionado a isso também. O tratator de evento MaskInputRejected recebe um objeto da classe MaskInputRejectedEventArgs (que herda de System.EventArgs). Esta classe possui as seguintes propriedades: a) Position - Obtém a posição na máscara que corresponde ao caractere inválido que o usuário está tentando inserir. b) RejectionHint - Obtém um valor de enumeração que descreve o motivo pelo qual o caractere de entrada foi rejeitado. Veja um trecho de código que mostra como obter a posição na máscara correspondente ao caractere inválido: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
private void maskedTextBox1_MaskInputRejected(object sender, MaskInputRejectedEventArgs e){
MessageBox.Show("Apenas dígitos de 0 a 9 são aceitos neste campo.\n\n" +
"Você está tentando inserir um caractere inválido na posição: " +
e.Position);
}
Lembre-se de que Position retorna a primeira posição como 0. Em aplicações do mundo real é recomendável informar ao usuário a primeira posição como sendo 1, ou seja, basta incrementar o valor de Position antes de exibir a mensagem de erro. Veja agora um exemplo do uso da propriedade RejectionHint: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
private void maskedTextBox1_MaskInputRejected(object sender, MaskInputRejectedEventArgs e){
MessageBox.Show("Apenas dígitos de 0 a 9 são aceitos neste campo.\n\n" +
"Erro: " + e.RejectionHint);
}
O valor retornado pela propriedade RejectionHint é um dos valores disponíveis na enumeração MaskedTextResultHint. É claro que tais valores são úteis apenas para depuração da aplicação (debugging), uma vez que as strings estão em inglês. Os valores da enumeração são: Unknown, CharacterEscaped, NoEffect, SideEffect, Success, AsciiCharacterExpected, AlphanumericCharacterExpected, DigitExpected, LetterExpected, SignedDigitExpected, InvalidInput, PromptCharNotAllowed, UnavailableEditPosition, NonEditPosition e PositionOutOfRange. |
|
|
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
|
AutoCAD .NET API C# - Como selecionar uma polilinha no AutoCAD e mostrar as coordenadas de suas vértices usando a AutoCAD .NET C# API Java - Exercícios Resolvidos de Java - Como calcular e exibir os 50 primeiros números primos em Java |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





