Distinguer les raisons de fermeture d'une Form [Résolu]

Signaler
Messages postés
175
Date d'inscription
vendredi 1 septembre 2006
Statut
Membre
Dernière intervention
3 avril 2020
-
Messages postés
14478
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
8 avril 2020
-
Bonjour,

Je n'arrive pas à distinguer si la cause de fermeture d'une Form provient d'un clic sur la ControlBox, des touches Alt-F4 ou du code (close())
Il s'agit d'une feuille MdiChild, dont la fermeture ne doit être provoquée que par la feuille mère. Comme j'ai besoin des boutons Min et Max, je ne peux pas masquer la ControlBox, sinon les deux autres boutons ne sont plus affichés.

En VB6, la raison de fermeture savait distinguer le clic sur le ControlBox et la fermeture par code.

En C#, les valeurs de CloseReason ont plus de valeurs, mais ne distinguent pas le code Close() du clic sur la ControlBox : j'ai testé, et les deux ramènent CloseReason=UserClosing.

Quelqu'un sait-il comment les distinguer, ou inhiber la ControlBox sans faire disparaître les bouton Minimize et Maximize ??

3 réponses

Messages postés
14478
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
8 avril 2020
374
Bonsoir

ou tu masque la croix sans masquer les boutons min et max.
https://social.msdn.microsoft.com/Forums/fr-FR/e9cef548-7c7f-420a-a7df-6b072e47240a/masquer-la-croix-dans-un-form-normal

J'ai pas essayé
Messages postés
175
Date d'inscription
vendredi 1 septembre 2006
Statut
Membre
Dernière intervention
3 avril 2020

J'avais trouvé la même chose sur le présent forum : https://codes-sources.commentcamarche.net/source/60062-desactiver-la-croix-de-fermeture-d-une-forme

Ça ne masque pas la croix, mais cela l'inhibe et la grise.

J'ai pas tout compris dans le principe, mais cela fonctionne et convient â ce que je veux faire.

Amitiés
MGD
Messages postés
14478
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
8 avril 2020
374
Tant mieux, pense à marquer le sujet résolu.

Bonne journée