Question

Je suis en cours d'exécution dans un étrange problème et semblent devoir pourchassés à la cause suivante. Environnement C # (.NET 2.0):

Mon code utilise le cadre de certains fournisseurs et à un moment donné ouvre une boîte de dialogue modale. Il semble que le cadre est le filtrage sur « Entrée » de l'application touches_appuyees (probablement par la mise en œuvre IMessageFilter). En conséquence, la fermeture de ma boîte de dialogue en appuyant sur le bouton « OK » conduit à un comportement étrange - fermeture via la souris, cliquez sur « OK » fonctionne très bien. La modification du code du cadre est malheureusement pas une option. Donc, je voudrais désactiver que les avis de cadre « Enter » (et probablement « ESC ») touches_appuyees dans ma boîte de dialogue. Est-ce que quelqu'un sait comment cela peut se faire?

EDIT:

« résolu » la question. S'il vous plaît se référer à la réponse acceptée ci-dessous.

Était-ce utile?

La solution

« résolu » la question. Voici la solution pour référence future: la mise de la forme (qui a été créé dans la boîte de dialogue modale) Propriété FormBorderStyle à FormBorderStyle.FixedDialog a résolu le problème. Oui, cela est un cas typique de Cargo-Cult-programmation, mais après des tests approfondis de la solution fonctionne de manière fiable.

Autres conseils

Faire un fichier javascript que les clés dans le saisir clé étant pressé, il a exécuter l'événement ok sur votre modal. Assurez-vous que votre javascript est au-dessus de tous les autres javascript dans le applicaiton et il devrait tirer le premier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top