Bonjour à tous,
Je sais que la question a surement déjà été posée, mais je n'y arrive pas.
Je cherche à faire quelque chose de très simple, réduire la fenêtre quand on clique sur la croix et n'autoriser la fermeture de l'appli (donc cette fameuse fenêtre) qu'avec l'utilisation d'un bouton.
J'ai donc regardé la faq et j'ai trouvé:
Seulement voilà, cet évenement est produit dès qu'on tente de fermer la fenêtre. Ce qui la rend... impossible à fermer! que ce soit avec la croix ou le bouton.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 private void MainForm_FormClosing(object sender, FormClosingEventArgs e) { e.Cancel = true;//On annule la fermeture }
Juste au dessus j'ai trouvé:
Mais la, le System.EvenArgs ne contient pas de Cancel que l'on pourrait mettre à true.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Application.ApplicationExit += new EventHandler(Application_Exit); //... private static void Application_Exit(object sender, System.EventArgs e) { MessageBox.Show("Adieu vilaine brute"); } private void button1_Click(object sender, System.EventArgs e) { Application.Exit(); }
L'appel de Application.Exit() dans l'évenement produit quand on clique sur mon bouton ferme la fenêtre mais... trop brutalement apparement. plein de processus fils ne sont pas tués et se zombifient...
Je suppose que la solution se trouve dans l'analyse du sender de la première méthode et juste vérifier qui a été pressé puis d'effectuer l'action mais... je ne sais rien à propos de la croix!! comment la distinguer de mon bouton?
ça ne doit pas être compliqué, mais là, je ne vois pas comment faire...
Merci pour votre aide.
Partager