2010-10-12 6 views
0

hey les gars, une question simple mais je ne sais pas le faire.Appeler des méthodes dans la même classe?

Lorsque je quitte mon application, je souhaite appeler ma méthode de sauvegarde pour vérifier si l'utilisateur souhaite enregistrer les modifications. Comment appeler la méthode de sauvegarde des événements de clic? C'est ce que je suis venu avec:

 if (isDirty == true) 
     { 
      saveToolStripMenuItem(); 
     } 
     this.Close(); 

Mais que le travail ne marche pas

+0

"Mais ça ne marche pas" - de quelle manière? Ne compile-t-il pas ou échoue-t-il au moment de l'exécution? Ce qui se produit? Voir http://tinyurl.com/so-hints –

Répondre

1

Si cela est une application Winform, il est l'événement de clôture de formulaire, vous pouvez brancher cet événement.

See here

+0

Comment puis-je me connecter à l'événement de clôture? Je peux trouver l'événement "Load" et l'événement "Activated" mais rien d'autre. –

2

Créer une méthode Save. Insère la logique d'enregistrement dans la méthode de sauvegarde. Appelez la méthode Save à partir de saveToolStripMenuItem - click eventhandler.

  • Appelez la méthode Save lorsque vous fermez également le formulaire.
1

Je vous suggère d'utiliser l'événement FormClosing de la classe Form; vous pouvez vérifier s'il existe des modifications non enregistrées et demander à l'utilisateur s'il souhaite enregistrer les modifications (boîte de dialogue YesNoCancel, s'il appuie sur Cancel, vous pouvez simplement définir e.Cancel = true). En guise d'exemple direct, je vous recommande de mettre vos logiques d'épargne dans une méthode Save(), et de l'appeler; Si ce n'est pas ce que vous voulez, ou ce qui n'est pas possible, vous pouvez toujours appeler manuellement le gestionnaire d'événement Click du bouton ou menuitem qui effectue réellement la sauvegarde, assurez-vous de spécifier les paramètres réellement utilisés.

Questions connexes