Je suis un problème avec le scénario suivant sur les formulaires Windows:
J'ai créé un formulaire avec deux boutons, chaque bouton a été attribué à la boîte de dialogue Comportement OK et à la dialogResult Annuler, respectivement.
Mais sur la base de certaines conditions, j'ai besoin d'arrêter l'exécution du bouton OK. Le problème est que si je viens de faire un retour comme celui-ci: p> Le résultat de la boîte de dialogue permet de retourner la réponse OK sur la forme parente. P> J'ai besoin Pour arrêter l'exécution de l'événement et ne pas renvoyer une réponse tant que l'utilisateur corrige les informations sur le formulaire. En d'autres termes, l'utilisateur doit être ramené au formulaire pour corriger les données manquantes ou incorrectes. P> p>
3 Réponses :
Envisagez de taper dans l'événement code> de la section CODE> de formes et utilisez la propriété Voici une page Web qui discute de l'idée; C'est VB, mais vous aurez l'idée: p>
Annuler CODE> de l'événement arguments pour annuler la fermeture de formulaire. P>
Personnellement, je n'utiliserais pas Ce que je ferais, c'est juste envoyer le dialogrutisme dialogresult code> s sur les boutons de ce scénario. J'ai seulement tendance à définir la boîte de dialogue code> quand il n'y a que des options distinctes qui ne nécessitent aucune logique supplémentaire (c.-à-d. Faire une boîte de messagerie personnalisée).
code> vous-même sur le succès: p>
Je ne. Windows Ui La conception exige que la boîte de dialogue se ferme lorsque l'utilisateur appuie sur la touche Entrée et que le bouton par défaut (OK) est marqué. La solution de contournement est simple, il suffit de définir la dialogue à aucun.
Comme Hans Passant mentionne dans un commentaire, définissez simplement la dialogresult sur Aucun!
Comme ceci:
Sur le prochain clic alors, ce ne sera toujours pas
@Crice: Non, ce ne sera pas. Dans le prochain clic, la boîte de dialogue du formulaire aura à nouveau été réglée sur OK par le bouton car la propriété de dialogResult du bouton est définie sur OK. (Peut-être pensez-vous que je voulais dire régler le dialogoperty à l'och le bouton sur aucun?)