Adresse IP dans un MaskedTextBox?
Comment puis-je utiliser un MaskedTextBox pour empêcher l'utilisateur d'entrer une adresse IP non valide? (Je veux qu'il se comporte comme celui de Windows).
source d'informationauteur Nasreddine
Vous devez vous connecter pour publier un commentaire.
Essayez ceci:
remarque: pour l'utiliser, vous devez importer le
System.Net
espace de noms:Beaucoup plus simple que les autres réponses:
Utilisation Du Système.Net.IPAddress et le Système.De Windows.Les formulaires.MaskedTextBox
définissez les propriétés suivantes de la MaskedTextBox:
chaque fois que la zone de texte est de la validation, de l'événement MaskedTextBox.TypeValidationCompleted est soulevée.
Les arguments de l'événement:
Lors de la réception de cet événement, vous pouvez décider d'utiliser la valeur ou de notifier à l'utilisateur quel est le problème avec la valeur.
Il est préférable d'utiliser des REGEX pour valider la saisie de l'utilisateur. Voici un exemple:
Définir le masque d':
###.###.###.###
Affichera comme ceci:
Il n'y a pas de solution complexe pour cette question. Je pense que @HaraldDutch réponse est plus proche, mais il n'est pas prevet à partir d'une entrée avec espace de caractère.
À l'aide des instructions supplémentaires:
généralement résolu le problème, mais plus complexe à mettre en œuvre leurs propres données personnalisées typewith méthode d'analyse.
Où regexpr est spécifique expresion pour valider la propriété intellectuelle. Après cela, il peut être utilisé comme un ValidatingType:
J'ai fait une IP masquée zone de texte que mimicks celui de Windows.
A la même largeur, hauteur, empêche les utilisateurs d'accéder à la >255 valeurs, sauts boîtes, etc, etc...
Si vous avez encore besoin d'elle et que vous voulez l'essayer c'est ici:
https://github.com/RuvenSalamon/IP-MaskedTextBox
(Je ne sais pas si cela compte comme auto-promotion, mais il est open-source donc je pense que c'est ok.)