CONTROL GROUPBOX A LA MANIERE DU CENTRE DE SECURITE XP SP2

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 17 juin 2005 à 14:04
DiGiT89 Messages postés 3 Date d'inscription mercredi 22 octobre 2008 Statut Membre Dernière intervention 26 février 2009 - 26 févr. 2009 à 11:09
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/32128-control-groupbox-a-la-maniere-du-centre-de-securite-xp-sp2

DiGiT89 Messages postés 3 Date d'inscription mercredi 22 octobre 2008 Statut Membre Dernière intervention 26 février 2009
26 févr. 2009 à 11:09
Haaa j'aime les codes qui m'aident à rendre mes form plus agréables au regard.
Merci à toi !
guromgd Messages postés 1 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 12 octobre 2008
12 oct. 2008 à 09:55
Fichtre !

c'est beau @_@, bravo ! (et merci :D)
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
22 oct. 2006 à 13:17
c'est bon oublié ce que j'ai dit. j'ai trouvé par moi meme, c'était tout simple :)
désoler j'ai parlé trop vite.
sinon merci pour vos réponse.
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
19 oct. 2006 à 21:40
salut,
désoler mais j'ai une ultime question. Est ce que ton controle réagit au clique souris? parce que j'ai ajouter une action lors du clique sur ton controle mais rien ne se passe. Donc en fait lors du clique sur ton controle, il m'est impossible de savoir si ce dernier est "rétrécit" ou "agrandit".
Mais peut etre c'est moi qui ne sait pas trop bien m'en servir.
Désoler de te déranger encore et merci par avance.
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
19 oct. 2006 à 10:45
ok merci beaucoup ;)
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
19 oct. 2006 à 10:39
clic droit sur la toolbox... ajouter des composants et sélectionner la dll.
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
19 oct. 2006 à 10:19
oui ok, seulement y a une petite defférence.
lorsque que l'on spécifie le proje à inclure en reférence, bah on a le controle qui s'ajoute a la liste avec les autres.
seulement quand j'ajoute la dll, je ne peux le faire que en "code", le controle n'est pas rajouter avec les autres.

ma question est donc comment en important la dll, je peux rajouter le controle avec les autres.
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
19 oct. 2006 à 09:17
vi... c'est ca...
tu compiles le projet du control et tu ajoutes la dll crée à ton projet :)
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
19 oct. 2006 à 08:49
Cela revient au meme ;)
Il te suffit d'ajout la dll en référence au projet.
Ensuite, tu déclares le namespace (using vbMaf.Windows.Forms)
Et finalement

XPGroupBox gbx = new XPGroupBox();
this.Controls.Add(gbx);

Et cela fonctionne.
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
18 oct. 2006 à 22:21
c'est deja fait, visiblement lui a ajouter le projet de son controle, or moi ce que je voudrais faire c'est seulement faire reference a la DLL.
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
18 oct. 2006 à 21:53
LordBob > Regarde simplement comment il a fait dans la petite application d'exemple ;)
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
18 oct. 2006 à 21:44
salut, je suis débutant en c#. je voudrais utiliser ton control dans mon application. pour cela j'ai ajouté la dll en reference dans mon projet, mais je n'arrive pas a inserer ton control dans mon dialog.
pourrais-tu m'aider stp, en me disant ce que je dois faire.
merci par avance.
DADAPOINTCOM Messages postés 29 Date d'inscription jeudi 6 février 2003 Statut Membre Dernière intervention 29 novembre 2007
5 févr. 2006 à 14:24
est il possible d'avoir le groupbox ferme a l'ouverture de mon programme, je voudai en avoir 2 ouvert et un de fermé,
si je le ferme a la creation la variable origHeight est de la hauteur de la capsule, comment definir une hauteur d'origine SVP.

j'ai fait le tour un peu mat je bloque.

sinon c'est vraiment un superbe travail de CODEUR.
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
15 sept. 2005 à 17:54
lol
mon dernier message concernais la version "private", pas l'ajout de l'attribut Browsable :-)
bucherb Messages postés 412 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 13 août 2007
14 sept. 2005 à 09:58
Coq, je parlais de la property grid, pas de l'intellisense :-p
t_barbillon Messages postés 341 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 10 février 2009 2
14 sept. 2005 à 09:26
Super source, merci
dhilowitz Messages postés 1 Date d'inscription mardi 6 septembre 2005 Statut Membre Dernière intervention 9 septembre 2005
9 sept. 2005 à 21:57
Excellent.
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
6 sept. 2005 à 13:02
Personnellement je vois toujours ma propriété publique Text héritée de Control et je peux toujours lui affecter une valeur (sur un contrôle perso Label par exemple)
Une propriété private ne peut pas masquer une propriété publique, par contre elle ne sera disponible qu'a l'intérieur même de la classe.
bucherb Messages postés 412 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 13 août 2007
6 sept. 2005 à 09:39
Mais cela-dit, pour l'enlever uniquement de la property grid en mode design, il suffit de l'overrider en la marquant not browsable et c'est tout..

[Browsable(false)]
public override Image BackgroundImage
{
get { return null; }
}
bucherb Messages postés 412 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 13 août 2007
6 sept. 2005 à 09:37
Affirmatif
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
5 sept. 2005 à 17:50
heu... tu as essayer ce que tu viens de donner ? :-)
bucherb Messages postés 412 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 13 août 2007
5 sept. 2005 à 13:54
lol pour masquer un membre hérité, il suffit de mettre "new" devant...... En mettant "private" il le recouvre complètement..

private new string Text{
get{ return "";}
}
par exemple
cs_titwan Messages postés 23 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 31 août 2007
10 août 2005 à 15:13
Probleme Report avec cette DLL

comportement etrange:
si on collapse and expand the groupbox
alors qu'on a DOCKer ces memes groupboxs.

mais sinon tres bon boulot
ca merite au moins un 8/10
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
30 juin 2005 à 19:43
J'aime bien, simple et efficace, et code facile a comprendre :)
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
22 juin 2005 à 09:16
donc... il faudra quand même utiliser le bon vieux [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
aogie Messages postés 108 Date d'inscription vendredi 11 juillet 2003 Statut Membre Dernière intervention 27 novembre 2007
22 juin 2005 à 08:34
Non. Tous les membres apparaissent. Cela n'impacte que le travail en mode "Design".
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
21 juin 2005 à 18:56
Je ne parlais pas de la fenetre propriétés du designer mais de la liste des membres donnée l'Intellisense durant la saisie de code pour une instance de XPGroupeBox.
aogie Messages postés 108 Date d'inscription vendredi 11 juillet 2003 Statut Membre Dernière intervention 27 novembre 2007
21 juin 2005 à 11:39
Tout à fait. La "Fenêtre Propriétés" n'affiche pas la propriété "filtrée".
Nota : la méthode "PreFilterEvents" permet d'agir de même avec les événements.
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
20 juin 2005 à 20:56
Faut que je la retienne celle là tiens ^^
Par contre un petit doute : ça agit aussi sur l'intellisense ?
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
20 juin 2005 à 11:17
merci aogie... c'est plus propre en effet :D
aogie Messages postés 108 Date d'inscription vendredi 11 juillet 2003 Statut Membre Dernière intervention 27 novembre 2007
20 juin 2005 à 11:14
On peut également créer une classe qui dérive de ControlDesigner. Ex : XPGroupeBoxControlDesigner.

"Overrider" la méthode "PreFilterProperties" et ajouter properties.Remove("BackgroundImage");

Il ne reste plus qu'ajouter : [Designer(typeof(XPGroupeBoxControlDesigner))] à la classe "XPGroupeBox".
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
17 juin 2005 à 19:15
merci coq ;)
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
17 juin 2005 à 19:11
Je ne connais pas non plus d'autre méthode pour "masquer" un membre hérité.

Juste une chose : "EditorBrowsable(EditorBrowsableState.Never)]" te permettras de le masquer de la liste des membres vus par l'Intellisense :-)

[Browsable(false),
EditorBrowsable(EditorBrowsableState.Never)]
public new Image BackgroundImage
{
get { return null; }
}
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
17 juin 2005 à 14:16
je ne crois pas... malheureusement :(
cs_RMI Messages postés 305 Date d'inscription vendredi 18 juillet 2003 Statut Membre Dernière intervention 2 août 2010 2
17 juin 2005 à 14:11
Trés joli, bien fait. (chapeau bas)
De plus je ne connaissais pas le controle PropertyGrid !
Est ce qu'il existe encore d'autre controle caché comme PropertyGrid dans System.Windows.Form ?
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
17 juin 2005 à 14:08
bah... en fait, j'ai toujours fais comme cela... il y a surement plus simple :D
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
17 juin 2005 à 14:04
Bien fait, et pas trop compliqué ! Ca mérite une bonne note :-)
Sinon quand tu fais :

[Browsable(false)]
public new Image BackgroundImage
{
get { return null; }
}

C'est en quelque sorte pour supprimer la méthode qui est héritée de GroupBox ? Je me suis déjà posée cette question : comment faire quand on hérite d'un object et qu'une property ou méthode n'est pas utile (on ne peux pas pas la supprimer) !?