Contrôles avec styles partagés

Signaler
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008
-
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008
-
Bonjour,

Je souhaite développer une suite d'application Winforms dont les interfaces graphiques se ressemblent beaucoup. J'aimerais, dans une classe Form mère définir les styles qui vont être communs à toutes ces applications. Je voudrais par exmple créer des groupes de boutons possédant leurs styles propres. Je pensais, si celà est possible, créer un controle (composant dans la toolbox) qui hérite de la classe button et qui possède dans ces propriétés les styles propres au groupe de bouton qu'il définit. Est-ce la meilleur méthode ? Si oui, pourriez-vous m'indiquer comment la mettre en pratique ?

merci d'avance.

Mathmax

7 réponses

Messages postés
546
Date d'inscription
mardi 26 novembre 2002
Statut
Membre
Dernière intervention
4 mai 2007
1
Tu peux procéder ainsi mais je crois que ca sera difficile d'ajouter ton nouveau bouton par exemple avec l'interface graphique.
Avec un usercontrol cela est tout a fait possible et tu pourras facilement faire une biblioothèque de controls réutilisables.
Messages postés
303
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
24 avril 2009
5
Avec VS2005, il suffit de créer une classe qui herite de Button, et il apparaitra dans la liste des controles propres au projet uniquement APRÈS avoir build le projet, et donc la classe en question. Selon moi cette methode pourrait s'avérer plus pratique qu'un userControl, mais les 2 solutions sont bonnes.

Eric [;)]
Messages postés
546
Date d'inscription
mardi 26 novembre 2002
Statut
Membre
Dernière intervention
4 mai 2007
1
Ok merci d'avoir souligné le build : une fois j'avais essayé et voyant qu'il n'aparaissait as j'avais abandonné :)
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
48
Un bouton EST un usercontrol ! Donc une de ses dérivée aussi...

<hr size="2" />VC# forever
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008

Merci pour toutes vos réponses.

J'ai fais quelques tests avec les 2 méthodes. Avec les usercontrols je n'ai pas de problème. En revanche j'en ai quelques uns avec la classe héritée de  Button.
J'ai fais une application winform dans laquelle j'ai ajouté une classe NewButton qui hérite de Button. Dans cette classe j'ai redéfini la propriété Background et je lui affecté la valeur Color.Green. Après recompilation, le contrôle est bien apparu dans ma Toolbox. Je l'ai glissé sur mon formulaire, mais celui-ci n'avait pas une couleur de fond verte. J'ai donc ajouté une messagebox qui au clique sur le bouton affiche la valeur de la propriété Background et celle-ci est bien égale à "Green". Savez-vous pourquoi la modification n'a pas été prise en compte graphiquement ? Voici le projet, c'est peut-être plus simple en regardant la source.
Sinon, ce qui est embêttant avec cette seconde méthode est qu'on ne peut pas développer graphiquement, non ?
 

Mathmax
Messages postés
303
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
24 avril 2009
5
Je ne comprends pas la manière dont tu fait ton NewButton , dans le sens ou un simple ....
using System.Drawing;<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

using System.Windows.Forms;

 

namespace WindowsApplication1

{

      classNewButton : Button

      {

            public NewButton() : base()

            {

                  BackColor = Color.Green;

            }

      }

}

.... devrait fonctionner !! Eric
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008

ok c'est vrai que c'est plus simple mais le résultat est le même : mon bouton n'est toujours pas vert.

Mathmax