begin process at 2010 02 10 00:28:26
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > CONTROL GROUPBOX A LA MANIERE DU CENTRE DE SECURITE XP SP2

CONTROL GROUPBOX A LA MANIERE DU CENTRE DE SECURITE XP SP2


 Information sur la source

Note :
9,23 / 10 - par 13 personnes
9,23 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Source .NET ( DotNet ) Classé sous :groupbox, onpaint, usercontrol, graphics, arrondis Niveau :Initié Date de création :17/06/2005 Date de mise à jour :22/06/2005 10:04:55 Vu / téléchargé :11 548 / 1 303

Auteur : sebmafate

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (37)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Aimant les "belles" interfaces, je suis en train de me constituer un ensemble de contrôles dont vous avez déjà pu découvrir sur CodeS-SourceS quelques exemples.
Cette fois-ci, je vous présente un GroupBox qui s'inspire de celui du Centre de Sécurité de Windows XP SP2.

Le code n'est pas très compliqué, tout se passe en fait dans l'override de la méthode OnPaint.
Vous pourrez ainsi découvrir comment dessiner un rectangle avec les bords arrondis, affiché des images, des icônes, calculer la taille d'un texte, gérer les évènements souris...


 Conclusion

Merci pour vos commentaires

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   TestXPGroupBox
    •   TestXPGroupBox
      •   bin
        •   Debug
          • TestXPGroupBox.exeTélécharger ce fichier [Réservé aux membres club]49 152 octets
          • TestXPGroupBox.pdbTélécharger ce fichier [Réservé aux membres club]15 872 octets
          • vbMaf.Windows.Forms.XPGroupBox.dllTélécharger ce fichier [Réservé aux membres club]32 768 octets
          • vbMaf.Windows.Forms.XPGroupBox.pdbTélécharger ce fichier [Réservé aux membres club]28 160 octets
      •   obj
        •   Debug
          • temp
          • TempPE
          • TestXPGroupBox.exeTélécharger ce fichier [Réservé aux membres club]49 152 octets
          • TestXPGroupBox.Form1.resourcesTélécharger ce fichier [Réservé aux membres club]29 308 octets
          • TestXPGroupBox.pdbTélécharger ce fichier [Réservé aux membres club]15 872 octets
          • TestXPGroupBox.projdataTélécharger ce fichier [Réservé aux membres club]14 344 octets
      • App.icoTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 078 octets
      • AssemblyInfo.csTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 598 octets
      • Form1.csTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 992 octets
      • Form1.resxTélécharger ce fichier [Réservé aux membres club]Voir ce fichier43 781 octets
      • TestXPGroupBox.csprojTélécharger ce fichier [Réservé aux membres club]Voir ce fichier5 027 octets
      • TestXPGroupBox.csproj.userTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 804 octets
    •   XPGroupBox
      •   bin
        •   Debug
          • vbMaf.Windows.Forms.XPGroupBox.dllTélécharger ce fichier [Réservé aux membres club]32 768 octets
          • vbMaf.Windows.Forms.XPGroupBox.pdbTélécharger ce fichier [Réservé aux membres club]28 160 octets
      •   obj
        •   Debug
          • temp
          • TempPE
          • vbMaf.Windows.Forms.XPGroupBox.dllTélécharger ce fichier [Réservé aux membres club]32 768 octets
          • vbMaf.Windows.Forms.XPGroupBox.pdbTélécharger ce fichier [Réservé aux membres club]28 160 octets
          • vbMaf.Windows.Forms.XPGroupBox.resourcesTélécharger ce fichier [Réservé aux membres club]9 931 octets
          • XPGroupBox.projdataTélécharger ce fichier [Réservé aux membres club]21 384 octets
      • AssemblyInfo.csTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 598 octets
      • XPGroupBox.csTélécharger ce fichier [Réservé aux membres club]Voir ce fichier12 783 octets
      • XPGroupBox.csprojTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 700 octets
      • XPGroupBox.csproj.userTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 803 octets
      • XPGroupBox.resxTélécharger ce fichier [Réservé aux membres club]Voir ce fichier18 128 octets
    • TestXPGroupBox.slnTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 440 octets
    • TestXPGroupBox.suoTélécharger ce fichier [Réservé aux membres club]9 216 octets

Télécharger le zip


 Historique

22 juin 2005 10:04:55 :
Correction de la gestion du DisplayRectangle

 Sources du même auteur

Source avec Zip Source .NET (Dotnet) SILVERLIGHT : METTEZ UNE TOUCHE D'AOP DANS VOS CONTRÔLES
Source avec Zip Source avec une capture Source .NET (Dotnet) BATCHIMAGECONVERTER
Source avec Zip Source .NET (Dotnet) MAFBINDERHELPER : UNE CLASSE POUR BINDER AUTOMATIQUEMENT VOS...
Source avec Zip Source .NET (Dotnet) WINDOWS FORMS VALIDATORS
Source avec Zip Source avec une capture Source .NET (Dotnet) BLUREDLABEL : UN LABEL AVEC UN FOND TROUBLE, COMME SOUS VIST...

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) NOTIFICATIONS DANS UN DELEGATE ASYNCHRONE par olivieram2
Source avec Zip Source avec une capture Source .NET (Dotnet) PIXEL SHADER - CRÉATION, UTILISATION, ET BINDING par yoannd
Source avec Zip Source avec une capture Source .NET (Dotnet) UITYPEEDITOR HACKING, PROPERTYGRID ET LISTVIEW CONFIGURABLES... par gourky
Source avec Zip Source .NET (Dotnet) CONVERTION D'UNE IMAGE EN G-CODE, GRAVURE CNC par gourky
Source avec Zip Source .NET (Dotnet) CAROUSEL EN WPF (USERCONTROL) par CoolSpirit

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) CAROUSEL EN WPF (USERCONTROL) par CoolSpirit
Source avec Zip Source avec une capture Source .NET (Dotnet) CRÉATION D'UN ACTIVEX EN UTILSANT UN USERCONTROL DOTNET CSHA... par AVerhamme
Source avec Zip Source avec une capture Source .NET (Dotnet) BATCHIMAGECONVERTER par sebmafate
Source avec Zip Source .NET (Dotnet) CREER_PORTRAIT par DCTC33
Source avec Zip Source avec une capture Source .NET (Dotnet) COMPTEURS DE PERFORMANCES (CONSOMMATION MÉMOIRE, UC, RESSOUR... par Samir63

Commentaires et avis

Commentaire de Bidou le 17/06/2005 14:04:32 administrateur CS

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) !?

Commentaire de sebmafate le 17/06/2005 14:08:08 administrateur CS

bah... en fait, j'ai toujours fais comme cela... il y a surement plus simple :D

Commentaire de RMI le 17/06/2005 14:11:59

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 ?

Commentaire de sebmafate le 17/06/2005 14:16:57 administrateur CS

je ne crois pas... malheureusement :(

Commentaire de coq le 17/06/2005 19:11:49 administrateur CS

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; }
}

Commentaire de sebmafate le 17/06/2005 19:15:56 administrateur CS

merci coq ;)

Commentaire de aogie le 20/06/2005 11:14:39

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".

Commentaire de sebmafate le 20/06/2005 11:17:51 administrateur CS

merci aogie... c'est plus propre en effet :D

Commentaire de coq le 20/06/2005 20:56:21 administrateur CS

Faut que je la retienne celle là tiens ^^
Par contre un petit doute : ça agit aussi sur l'intellisense ?

Commentaire de aogie le 21/06/2005 11:39:29

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.

Commentaire de coq le 21/06/2005 18:56:36 administrateur CS

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.

Commentaire de aogie le 22/06/2005 08:34:43

Non. Tous les membres apparaissent. Cela n'impacte que le travail en mode "Design".

Commentaire de sebmafate le 22/06/2005 09:16:54 administrateur CS

donc... il faudra quand même utiliser le bon vieux [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]

Commentaire de MorpionMx le 30/06/2005 19:43:28 administrateur CS

J'aime bien, simple et efficace, et code facile a comprendre :)

Commentaire de titwan le 10/08/2005 15:13:48

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

Commentaire de bucherb le 05/09/2005 13:54:53

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

Commentaire de coq le 05/09/2005 17:50:00 administrateur CS

heu... tu as essayer ce que tu viens de donner ? :-)

Commentaire de bucherb le 06/09/2005 09:37:03

Affirmatif

Commentaire de bucherb le 06/09/2005 09:39:53

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; }
}

Commentaire de coq le 06/09/2005 13:02:02 administrateur CS

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.

Commentaire de dhilowitz le 09/09/2005 21:57:34

Excellent.

Commentaire de t_barbillon le 14/09/2005 09:26:37

Super source, merci

Commentaire de bucherb le 14/09/2005 09:58:46

Coq, je parlais de la property grid, pas de l'intellisense :-p

Commentaire de coq le 15/09/2005 17:54:24 administrateur CS

lol
mon dernier message concernais la version "private", pas l'ajout de l'attribut Browsable  :-)

Commentaire de DADAPOINTCOM le 05/02/2006 14:24:04

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.

Commentaire de LordBob le 18/10/2006 21:44:43

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.

Commentaire de MorpionMx le 18/10/2006 21:53:25 administrateur CS

LordBob > Regarde simplement comment il a fait dans la petite application d'exemple ;)

Commentaire de LordBob le 18/10/2006 22:21:33

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.

Commentaire de MorpionMx le 19/10/2006 08:49:20 administrateur CS

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.

Commentaire de sebmafate le 19/10/2006 09:17:08 administrateur CS

vi... c'est ca...
tu compiles le projet du control et tu ajoutes la dll crée à ton projet :)

Commentaire de LordBob le 19/10/2006 10:19:09

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.

Commentaire de sebmafate le 19/10/2006 10:39:33 administrateur CS

clic droit sur la toolbox... ajouter des composants et sélectionner la dll.

Commentaire de LordBob le 19/10/2006 10:45:11

ok merci beaucoup ;)

Commentaire de LordBob le 19/10/2006 21:40:17

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.

Commentaire de LordBob le 22/10/2006 13:17:15

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.

Commentaire de guromgd le 12/10/2008 09:55:51

Fichtre !

c'est beau @_@, bravo ! (et merci :D)

Commentaire de DiGiT89 le 26/02/2009 11:09:44 10/10

Haaa j'aime les codes qui m'aident à rendre mes form plus agréables au regard.
Merci à toi !

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

ListView : Ajouter des éléments (C#) [ par Wolf ] Voilà mon problème :Comment faire pour ajouter des éléments dans une ListView pendant l'exécution du programme?J'avais pensé faire ça ds la fonction O Usercontrol et OnKeyPress [ par vbmore ] Je suis en train de crée un UserControl et je n'arrive pas à intercepter les touches Haut, Bas, Gauche, Bas (Elles passent le focus au controle suivan Icone UserControl [ par bucherb ] Hello!Est-ce que quelqu'un saurait comment changer la petite icône d'un UserControl dans le ToolBox du designer, pour avoir autre chose que ce truc tr passage de valeur userControl -> winForm [ par benjamin33 ] BonjourVoila, j'ai un formulaire dans lequel j'insere un userControl (qui contient lui-meme une listbox)J'aimerais recuperer la valeur selectionnée (l Graphics to Bitmap [ par Developpator ] Hello;Je cherche le moyen de sauver dans un fichier *.bmp, le contenu d'un panel, à savoir son objet graphics. Merci d'avance. dessiner un rectangle sur les controles [ par LeGnuff ] Bonjour !j'ai un objget Graphics associé à une formj'aurais aimé savoir s'il y avait un moyen d'utiliser la méthodeGraphics.DrawRectangle(...) en fais Graphics et controls [ par michel_roger ] Salut tlm,Je suis en train de créer une sorte de tooltip avec ce code : Graphics help = this.CreateGraphics();Brush brush = System.Drawing.Brushes.Bla [Winform] [UserControl] référence à la form [ par stailer ] Bonjour tout le monde,Je suis en train de programmer un UserControl visuel à poser sur une form.Le problème, c'est que ce controle doit "paramétrer" a UserControl et Event... [ par bigflo ] Salut à tous...Voila, je voudrais faire mon propre UserControl. Mais j'ai un petit souci vis-àvis des évenements Click et DoubleClick.Je n'arrive pas scrollbar et usercontrol [ par bigflo ] Salut,Je réalise mon propre controle. Mais je n'arrive pas à faire apparaitre les scrollbars...Ya bien une propriété AutoScroll, mais apparement, je n


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales