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

Messages postés
167
Date d'inscription
mercredi 11 février 2004
Statut
Membre
Dernière intervention
5 janvier 2006
- - Dernière réponse : cs_gluk
Messages postés
43
Date d'inscription
mercredi 30 avril 2003
Statut
Membre
Dernière intervention
25 avril 2008
- 6 mars 2006 à 11:51
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?
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
74
3
Merci
[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#

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_coq
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
40
0
Merci
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
Commenter la réponse de MorpionMx
Messages postés
167
Date d'inscription
mercredi 11 février 2004
Statut
Membre
Dernière intervention
5 janvier 2006
0
Merci
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...
Commenter la réponse de penchu
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
74
0
Merci
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#
Commenter la réponse de cs_coq
Messages postés
16
Date d'inscription
mardi 11 mai 2004
Statut
Membre
Dernière intervention
6 mai 2008
0
Merci
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
Commenter la réponse de cs_pietou
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
40
0
Merci
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.
Commenter la réponse de MorpionMx
Messages postés
43
Date d'inscription
mercredi 30 avril 2003
Statut
Membre
Dernière intervention
25 avril 2008
0
Merci
Merci beaucoup,

c exactement ce que je cherché.

@+

Gluk
Commenter la réponse de cs_gluk