J'ai une fenêtre enfant avec un événement de fermeture pour éviter toute fermeture accidentelle. Dans cette fenêtre enfant, j'ai un gestionnaire de clic sur un bouton qui va effectuer une opération puis fermer l'enfant et signaler à la fenêtre parente les nouvelles informations. Malheureusement, cette action de bouton appelle également l'événement de fermeture. Comment puis-je contourner cet événement de fermeture de fenêtre spécifique et juste signaler cette information? Je viens de le lire et cela me semble un peu déroutant. Je vais éditer si besoin.Événement de fermeture de la fenêtre de contournement à partir du bouton Cliquez sur
Répondre
Si je vous comprends bien, vous définissez dans OnClosing le Cancel
-property à true
et par conséquent la fenêtre ne se ferme pas. Maintenant, vous cherchez une possibilité de fermer la fenêtre de votre événement de clic de bouton bien que vous ayez cet événement OnClosing. Droite?
Une possibilité consiste à définir une variable membre que vous définissez dans l'événement buttons. Dans OnClosing, vous définissez uniquement e.Cancel sur true si cette variable membre n'est pas définie.
class YourClass{
bool m_closeAnyway;
void OnClosing(....){
if(!m_closeAnyway){
e.Cancel=true;
}
}
void ButtonClickEventHandler(...){
m_closeAnyway=true;
Close();
DoTheRest();
}
Vous devriez revoir votre conception.
Vous pouvez faire quelque chose comme ça:
public void ClosingEvent (...)
{
if(this.ToValidate)
{
this.Validate();
// Or e.Cancel; I don't know exactly know what you want to prevent...
}
}
public void ButtonClick(...)
{
this.ToValidate = false;
this.Close();
}
ont une propriété comme ForceClosed true et par défaut sur le bouton cliquez sur Définir pour être faux. Lorsque l'événement de fermeture se déclenche, vérifiez si ForceClosed est vrai. Si c'est le cas, effectuez tout ce qui est nécessaire pour éviter une fermeture accidentelle.
- 1. Événement de fermeture de la fenêtre de capture
- 2. fermeture d'une fenêtre Silverlight sur un bouton cliquez sur
- 3. Fenêtre de fermeture de bouton de fermeture sur Snow Leopard
- 4. Fermeture fenêtre via le bouton X et événement fenêtre onload
- 5. Exécution d'une méthode à la sortie du bouton Cliquez sur
- 6. Attraper un événement de fermeture de fenêtre à partir du script d'action/flash
- 7. événement d'attente avant fermeture de la fenêtre à l'aide onbeforeunload
- 8. Enregistrement avant la fermeture de la fenêtre
- 9. Événement de fermeture et de fermeture du navigateur à l'aide de jQuery
- 10. Kendo-Knockout: Fermeture de la fenêtre de fermeture de bindings
- 11. Événement de clic long sur le bouton Cliquez sur Android
- 12. Cliquez sur le bouton DirectX à partir de Windows Forms
- 13. Accès à la zone de texte Form1 à partir du bouton Form2 cliquez sur
- 14. Reconnaître lorsque l'utilisateur ferme une fenêtre (lorsque vous cliquez sur le bouton de fermeture)
- 15. Fenêtre contextuelle sur le bouton cliquez sur
- 16. Événement de liaison sur une autre fenêtre
- 17. événement Cliquez sur le bouton pas effectué
- 18. comment vimeo jouer bouton cliquez sur événement?
- 19. Fermeture de la fenêtre principale du navigateur
- 20. Bouton Cliquez sur événement dans un autre
- 21. cliquez sur Backbone événement bouton désactivé
- 22. Fenêtre contextuelle Jquery sans bouton de fermeture
- 23. Comment puis-je capturer un événement de fermeture de fenêtre?
- 24. VSTO Remapper le bouton de fermeture de la fenêtre
- 25. Fermeture de la boîte de dialogue jQuery sur le bouton cliquez sur
- 26. JFrame Bouton de fermeture
- 27. événement pour la fermeture du navigateur
- 28. Détection du bouton du sélecteur de couleurs wordpress cliquez sur
- 29. FLTK Fenêtre de fermeture
- 30. Attraper un événement de fermeture du navigateur
Il semble qu'il y avait beaucoup de différentes solutions à ce problème et j'ai juste mis en application juste le premier que j'ai vu qui a fonctionné. Merci tout le monde. – ecMode