VB.NET Inputbox - Comment identifier lorsque la pression du Bouton Annuler?
J'ai une simple application windows qui affiche une zone de saisie pour les utilisateurs à entrer un jour à faire des recherches.
Comment puis-je déterminer si l'utilisateur a cliqué sur le bouton Annuler, ou simplement appuyé sur OK sans entrer toutes les données comme les deux semblent retourner la même valeur?
J'ai trouvé quelques exemples de ce traitement en VB 6, mais aucun d'entre eux vraiment de fonction dans les .Monde NET.
Idéalement, je voudrais savoir comment gérer le vide OK et Annuler séparément, mais je serais tout à fait ok avec juste un bon moyen de traiter l'annuler.
OriginalL'auteur The Sasquatch | 2010-05-27
Vous devez vous connecter pour publier un commentaire.
Voici ce que j'ai fait et cela a fonctionné parfaitement pour ce que je cherchais à faire:
Cette clé a été de définir la valeur par défaut de la zone de saisie pour être un espace réel, de sorte qu'un utilisateur il suffit d'appuyer sur le bouton OK permet de retourner une valeur de "" tout en appuyant sur annuler renvoie ""
À partir d'un point de vue de l'utilisabilité, la valeur par défaut dans la zone d'entrée commence en surbrillance et est désactivée lorsqu'un utilisateur tape donc l'expérience n'est pas différent que si la case n'a pas de valeur.
OriginalL'auteur The Sasquatch
De MSDN:
La zone d'entrée est très limitée, comme Jamie dit, il suffit d'écrire votre propre boîte de dialogue à la place.
OriginalL'auteur Kyle Rozendo
1) créer une fonction Globale (mieux dans un module, de sorte que vous avez seulement besoin de déclarer une fois)
2) dans l'événement load du formulaire de mettre ce (pour faire de la variable intInputBoxCancel = annuler l'événement)
3) maintenant, vous pouvez utiliser n'importe où dans votre formulaire (ou un projet si StrPtr est déclaré mondial dans le module)
OriginalL'auteur Georg
J'ai comme l'utilisation de la IsNullOrEmpty méthode de la classe String comme si...
OriginalL'auteur Jgregoire108
Bien que cette question est posée pour il y a 5 ans. Je veux juste partager ma réponse. Ci-dessous est comment détecter si quelqu'un est cliqué sur annuler et le bouton OK dans la boîte de saisie:
Désolé que voulez-vous dire? Autant je suis en utilisant le code, il fonctionne.
OriginalL'auteur zmd94
Vous pouvez le faire d'une manière simple à l'aide de la
DialogResult.cancel
méthode.Par exemple:
OriginalL'auteur C.Aymar
Les gars n'oubliez pas que vous pouvez utiliser le try catch événement de fin de
Try..Catch
pour la validation des données est généralement une mauvaise pratique. Ses presque toujours préférable de valider vos saisies et de l'utilisationTry..Catch
pour la unexpextedOriginalL'auteur Sidney
De l'essayer. J'ai essayé la solution et ça fonctionne.
OriginalL'auteur Ahmet Uğur
OriginalL'auteur Jamie
Pourquoi ne pas vérifier si, pour rien?
C'est ce que j'utilise généralement, parce que c'est un peu plus facile à lire.
OriginalL'auteur Michael Parr
Sous quelles conditions peut
userReply <> ""
etuserReply.Length = 0
?OriginalL'auteur Devharsh