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: 8741 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#:
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:
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:
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 |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |