RV2931
Messages postés185Date d'inscriptionsamedi 21 mai 2005StatutMembreDernière intervention16 juillet 2016
-
26 mars 2008 à 16:38
RV2931
Messages postés185Date d'inscriptionsamedi 21 mai 2005StatutMembreDernière intervention16 juillet 2016
-
26 mars 2008 à 22:12
Bonjour,
Je galère pas mal avec l'édition de user contrôls. Je n'arrive pas à voir où et quand les variables initialisées dans le panneau de propriété de l'objet dans Visual Studio sont véritablement affectées et réutilisable.
Voici un truc qui ressemble à mon code :
public class MyClass : System.Windows.Forms.UserControl
{
private String Attr;
[Category("Comportement")]
[Browsable(true)]
[DefaultValue("myString")]
public String MyAttr
{
get{return this.Attr;}
set{this.Attr=value;}
}
public MyClass ()
{
// Cet appel est requis par le Concepteur de formulaires Windows.Forms.
InitializeComponent(); => BreakPoint
}
}
Ce que je comprend pas c'est qu'au breakpoint , la variable this.Attr n'a pas été initialisée et vaut "null", il ne prend jamais la valeur par défaut, et modifier la valeur dans l'editeur intellisens "ou truc comme ça" ne change rien, elle vaut toujours "null" lors de l'execution dans la fonction InitializeComponent. Je n'arrive donc pas à utilisé les propriétés de mon user control, si quelqu'un peut me dire ce que je ne fait pas bien ???
Merci
Hervé
L'intelligence est la chose la mieux répartie chez l'homme, car quoi qu'il en soit pourvu, il a toujours l'impression d'en avoir assez. "Descartes"
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 26 mars 2008 à 16:46
L'attribut DefaultValue ne sert pas à mettre une valeur par défaut dans ta variable... mais a éviter au designer de sérialiser ta propriété si sa valeur = DefaultValue.
RV2931
Messages postés185Date d'inscriptionsamedi 21 mai 2005StatutMembreDernière intervention16 juillet 2016 26 mars 2008 à 22:12
Merci,
Faut que je reteste ça mais j'avais déjà essayé d'initialiser ma variable à sa déclaration, et elle gardait toujours cette valeur, elle ne semblait pas prendre celle que j'avais modifier dans le panneau de propriétés après l'ajout de mon user control dans le designer. En fait, lorsque je modifie mon attribut, je modifie la couleur de mon user control, et ça fonctionne très bien dans le designer, mais lorsque j'exécute, mon attribut reprend automatiquement la valeur jsutement mise par défaut lors de la création de la variable, ce qui fait que dans le designer ça smeble fonctionner mais lors de l'exécution, il garde la couleur par défaut ... :o(
Je vais essayer de mettre mon code demain, mais il ressemble grosso modo à celui-là, en initialisant Att biensur.
L'intelligence est la chose la mieux répartie chez l'homme, car quoi qu'il en soit pourvu, il a toujours l'impression d'en avoir assez. "Descartes"