Cacher la croix de fermeture d'une form [Résolu]

Signaler
Messages postés
167
Date d'inscription
mercredi 11 février 2004
Statut
Membre
Dernière intervention
5 janvier 2006
-
Messages postés
43
Date d'inscription
mercredi 30 avril 2003
Statut
Membre
Dernière intervention
25 avril 2008
-
bonjour à tous,
Qqn connaît-il le moyen de cacher la croix de fermeture d'une form?
Je sais qu'on peut cacher l'icone de réduction et d'agrandissement d'une form, je ne recherche plus qu'à cacher l'icone de fermeture...
Comment est-ce envisageable?

7 réponses

Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
82
[DllImport("user32.dll")]
private static extern IntPtr GetSystemMenu(
IntPtr hWnd,
bool bRevert
);

[DllImport("user32.dll")]
private static extern bool EnableMenuItem(
IntPtr hMenu,
uint uIDEnableItem,
uint uEnable
);

private const int SC_CLOSE = 0xF060;
private const int MF_GRAYED = 0x00000001;

-----------------


IntPtr sysMenu = GetSystemMenu(this.Handle, false);
EnableMenuItem(sysMenu, SC_CLOSE, MF_GRAYED);

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
44
Tu peux mettre la propriété FormBorderStyle a None, mais la tu n'auras plus de contours.

Ou alors mettre la propriété ControlBox à false.



Mx
Messages postés
167
Date d'inscription
mercredi 11 février 2004
Statut
Membre
Dernière intervention
5 janvier 2006

ya juste que si je met controlbox a false, ca vire tout (vu que c'est un groupe)...
en fait, faudrait que je puisse enlever que la croix...
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
82
en ajoutant CS_NOCLOSE aux styles de la fenêtre à sa création :

dans le form ajoute :

protected override CreateParams CreateParams
{
get
{
int CS_NOCLOSE = 0x0200;
CreateParams param = base.CreateParams;
param.ClassStyle |= CS_NOCLOSE;

return param;
}
}

et pense a ajouter un bouton pour quitter l'appli qqpart sinon tu es bon pour la méthode taskmgr

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
16
Date d'inscription
mardi 11 mai 2004
Statut
Membre
Dernière intervention
6 mai 2008

Très bien ce bout de code... mais j'aimerais savoir autre chose...
Admettons que par exemple, ce soit un événement comme un clic sur un
bouton qui décide de cacher où non cette croix.. je peux faire
comment???

Piet
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
44
Avec cette méthode, j'ai pas l'impression que ce soit possible.

CreateParams est utilisé pour passer les informations à l'initialisation d'un controle, il me semble.
Messages postés
43
Date d'inscription
mercredi 30 avril 2003
Statut
Membre
Dernière intervention
25 avril 2008

Merci beaucoup,

c exactement ce que je cherché.

@+

Gluk