User control

cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 - 31 août 2006 à 10:13
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 - 31 août 2006 à 17:44
bonjour,

Ppeut-on et comment faire pour avoir des controles ou des proprietes  contenues dans un user control  atteignable par le designer d'un forumlaire le contenant
par exemple si g un usercontrol contenant un label copmment puis-je modifier la taille de ce label ou sim:plement sa couleur a traver sle designer du formulaie contenant ce user_control?

en fait au depart je pensais faire un formilaire a partir duquel j'heriterais d'autrs formulaires mais je voudrais pouvoir modifier des controles de ce formulaire a partir du designer. Je ne veux pas modifier un a un les controles mais j'aimerais qu'ils possedent (pour certains d'entre eux le smemes proprietes et donc si j'en modifie une ca le smodifie toutes et cela a partir du designer)
est-ce possible?

merci

18 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
31 août 2006 à 10:36
Oui c'est possible :

1) tu fais une propriétés qui retrourne un control de ton userControl => myUserControl.myLabel par exemple

public Label LabelXXX
{
 set { this.myLabelXXX = value;
 get { return this.myLabelXXX;
}

2) tu mets juste certaines propriété d'un Control à disposition :

myUserControl.LabelXXXForColor

public Color LabelXXXForColor
{
 set { this.myLabelXXX.ForColor = value;
 get { return this.myLabelXXX.ForColor;
}


<hr size="2" />




VC# forever
0
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
31 août 2006 à 11:19
jmerci pour cette reponse rapide
mais je ne sais pas ou mettre ces proprietes...
si je veux pouvoir changer ds le designer du user control
le label

j'ai mis dans le corps du  

public partial class myuser : usercontrol
{

myuser.LabelXXX

public Label LabelXXX
{
 set { this.myLabelXXX = value;}
 get { return this.myLabelXXX;}
}

}

Mais il y a un erreur de syntaxe!

ne manque-t-il rien?
ou dois je mettre ce sproprietes?
0
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
31 août 2006 à 11:25
ah ok
je crois que j'ai trouvé ya pas besoin de myuser.LabelXXX
 et je trouve les infos pour le designer ds misc
0
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
31 août 2006 à 12:18
par contre quand je fais build


le text contenu ds le label est reinitialisé (celui du usercontrol) pkoi?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
31 août 2006 à 12:47
Qu'appelles-tu réinitialisé ?

Dits nous quelle valeur il affiche (et où est cette valeur dans ton code)
Et quelle valeur tu aurais voulu (et où est cette valeur dans ton code)
0
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
31 août 2006 à 13:27
ok
il y avait ecrit label1 ds le usercontrol

je change le text ds le designer du formulaire le contenant : "titre" par exemple

je fais build ou rebuild

et j'ai label1 affiché de nouveau ds mon formulaire (enfin ds le usercontrol de mon formulaire)
0
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
31 août 2006 à 15:09
J'ai déjà eu ce pb, galère, je ne me rapelle plus comment je l'avais résolu, grrr.

Si tu n'as pas besoin de toutes les propriétés du label, fait plutot :

        [Browsable(true)]
        public string LabelText
        {
            set { this.label1.Text = value;}
            get { return this.label1.Text;}
        }   

Et là tu peux changer le libellé sans pb.
0
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
31 août 2006 à 15:11
ok
je vais faire de meme pour front color et backcolor alors
lol
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
31 août 2006 à 16:03
c'est pas Browsable(true)...

C'est
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
31 août 2006 à 16:15
Ah !! Je ne connaissais pas cette enum.
Je regarde l'aide, mais j'ai du mal à voir la différence, peux-tu m'éclairer ?

merci
0
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
31 août 2006 à 16:16
euh je suis perplexe la!


je ne comprends pas la reponse de sebmafate du tout


c quoi browsable(true)? (pourquoi c pas! qq'un l'avait proposé?)


et [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]

si c une reponse a mon probleme je ne vois pas dut otu coment l'utiliser pourrais - tu detailler un peu plus?
0
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
31 août 2006 à 16:19
        public string LabelText
        {
            set { this.label1.Text = value;}
            get { return this.label1.Text;}
        } 

marche aussi sans browsable(true) ou [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]

non?
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
31 août 2006 à 16:23
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
 public string LabelText
        {
            set { this.label1.Text = value;}
            get { return this.label1.Text;}
        } 

ca indique au designer de sérialiser le contenu de la propriété au moment du design. Ca te permet de renseigner tes propriété dans le designer.
Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
31 août 2006 à 16:32
oui merci mais ca marche aussi juste avec


 public string LabelText
        {
            set { this.label1.Text = value;}
            get { return this.label1.Text;}
        } 

(chez moi en tout cas)
0
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
31 août 2006 à 17:14
J'ai regardé vite fait, mais browsable et DesignerSerializationVisibility ont le meme comportement. J'étudierai plus en détail quand j'aurai le temps.

Ah oui, tu parles du designer du UserControl, j'étais parti sur le designer de la WinForm, oups 
Ton mot "Titre" de ton exemple, tu dits que tu le mets avec le designer de ton formulaire. Le formulaire c'est bien la WinForm ? Parce que sans DesignerSerializationVisibility je ne vois pas comment tu peux avoir LabelXXX dans la fenêtre de propriété de ton UserControl (qui est sur une WinForm).
0
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
31 août 2006 à 17:20
je vois les prop du label (enfin le texte dans le cas present) dans le designer du formulaire quand je clique sur le usercontrol (dans les proprietés du user control, dans misc) (c ca ta question?) et c juste ce que je voulais.
 
0
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
31 août 2006 à 17:31
Ah oui, ça marche avec mon VC# Express 2005, mais pas en 2003, et vu que je faisais mes tests avec 2003, je ne comprenais pas ce que tu disais.

Donc j'ai rien dit
0
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
31 août 2006 à 17:44
oui désolé j'ai oublié de préciser je ne pensais pas que cela pouvait influer sur le resultat
sinon j'ai des questions sur les mdi
http://www.csharpfr.com/infomsg_PROBLEME-AVEC-SHOWDIALOG_806243.aspx#7

si tu peux m'aider n'hesite pas

;-)
0
Rejoignez-nous