Valeur par défaut d'une propriété de type struct dans le designe r
3 réponses
ShadowFil
Bonjour,
Avec l'attribut [DefaultValue(valeur)], on peut définir une valeur par
défaut à une propriété affichée dans le designer de Visual Studio 2005.
Mais comment faire pour définir une valeur par défaut pour une propriété de
type Size ou Point ? Car mon UserControl a une propriété de type struct. Pour
la modifier directement dans le designer, j'ai créé un classe héritant de
TypeConverter. Ca marche. Mais il me reste à définir la valeur par défaut.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Laurent
je vais peut être dire une grosse bétise mais j'essaie, on sait jamais !!!
le type converter permet de convertir un string dans le type personnalisé, donc essaie de mettre dans ton defaultvalue une valeur de type string
genre avec une propriété de type size : [defaultvalue("10;125")]
-- Laurent M. Développeur .NET
"ShadowFil" a écrit :
Bonjour,
Avec l'attribut [DefaultValue(valeur)], on peut définir une valeur par défaut à une propriété affichée dans le designer de Visual Studio 2005.
Mais comment faire pour définir une valeur par défaut pour une propriété de type Size ou Point ? Car mon UserControl a une propriété de type struct. Pour la modifier directement dans le designer, j'ai créé un classe héritant de TypeConverter. Ca marche. Mais il me reste à définir la valeur par défaut.
Merci pour votre aide.
je vais peut être dire une grosse bétise mais j'essaie, on sait jamais !!!
le type converter permet de convertir un string dans le type personnalisé,
donc essaie de mettre dans ton defaultvalue une valeur de type string
genre avec une propriété de type size :
[defaultvalue("10;125")]
--
Laurent M.
Développeur .NET
"ShadowFil" a écrit :
Bonjour,
Avec l'attribut [DefaultValue(valeur)], on peut définir une valeur par
défaut à une propriété affichée dans le designer de Visual Studio 2005.
Mais comment faire pour définir une valeur par défaut pour une propriété de
type Size ou Point ? Car mon UserControl a une propriété de type struct. Pour
la modifier directement dans le designer, j'ai créé un classe héritant de
TypeConverter. Ca marche. Mais il me reste à définir la valeur par défaut.
je vais peut être dire une grosse bétise mais j'essaie, on sait jamais !!!
le type converter permet de convertir un string dans le type personnalisé, donc essaie de mettre dans ton defaultvalue une valeur de type string
genre avec une propriété de type size : [defaultvalue("10;125")]
-- Laurent M. Développeur .NET
"ShadowFil" a écrit :
Bonjour,
Avec l'attribut [DefaultValue(valeur)], on peut définir une valeur par défaut à une propriété affichée dans le designer de Visual Studio 2005.
Mais comment faire pour définir une valeur par défaut pour une propriété de type Size ou Point ? Car mon UserControl a une propriété de type struct. Pour la modifier directement dans le designer, j'ai créé un classe héritant de TypeConverter. Ca marche. Mais il me reste à définir la valeur par défaut.
Merci pour votre aide.
ShadowFil
J'y ai cru aussi. Mais non. Ca ne marche pas.
"Laurent" a écrit :
je vais peut être dire une grosse bétise mais j'essaie, on sait jamais !!!
le type converter permet de convertir un string dans le type personnalisé, donc essaie de mettre dans ton defaultvalue une valeur de type string
genre avec une propriété de type size : [defaultvalue("10;125")]
-- Laurent M. Développeur .NET
"ShadowFil" a écrit :
> Bonjour, > > Avec l'attribut [DefaultValue(valeur)], on peut définir une valeur par > défaut à une propriété affichée dans le designer de Visual Studio 2005. > > Mais comment faire pour définir une valeur par défaut pour une propriété de > type Size ou Point ? Car mon UserControl a une propriété de type struct. Pour > la modifier directement dans le designer, j'ai créé un classe héritant de > TypeConverter. Ca marche. Mais il me reste à définir la valeur par défaut. > > Merci pour votre aide.
J'y ai cru aussi. Mais non. Ca ne marche pas.
"Laurent" a écrit :
je vais peut être dire une grosse bétise mais j'essaie, on sait jamais !!!
le type converter permet de convertir un string dans le type personnalisé,
donc essaie de mettre dans ton defaultvalue une valeur de type string
genre avec une propriété de type size :
[defaultvalue("10;125")]
--
Laurent M.
Développeur .NET
"ShadowFil" a écrit :
> Bonjour,
>
> Avec l'attribut [DefaultValue(valeur)], on peut définir une valeur par
> défaut à une propriété affichée dans le designer de Visual Studio 2005.
>
> Mais comment faire pour définir une valeur par défaut pour une propriété de
> type Size ou Point ? Car mon UserControl a une propriété de type struct. Pour
> la modifier directement dans le designer, j'ai créé un classe héritant de
> TypeConverter. Ca marche. Mais il me reste à définir la valeur par défaut.
>
> Merci pour votre aide.
je vais peut être dire une grosse bétise mais j'essaie, on sait jamais !!!
le type converter permet de convertir un string dans le type personnalisé, donc essaie de mettre dans ton defaultvalue une valeur de type string
genre avec une propriété de type size : [defaultvalue("10;125")]
-- Laurent M. Développeur .NET
"ShadowFil" a écrit :
> Bonjour, > > Avec l'attribut [DefaultValue(valeur)], on peut définir une valeur par > défaut à une propriété affichée dans le designer de Visual Studio 2005. > > Mais comment faire pour définir une valeur par défaut pour une propriété de > type Size ou Point ? Car mon UserControl a une propriété de type struct. Pour > la modifier directement dans le designer, j'ai créé un classe héritant de > TypeConverter. Ca marche. Mais il me reste à définir la valeur par défaut. > > Merci pour votre aide.
Gilles TOURREAU
ShadowFil a pensé très fort :
Bonjour,
Avec l'attribut [DefaultValue(valeur)], on peut définir une valeur par défaut à une propriété affichée dans le designer de Visual Studio 2005.
Mais comment faire pour définir une valeur par défaut pour une propriété de type Size ou Point ? Car mon UserControl a une propriété de type struct. Pour la modifier directement dans le designer, j'ai créé un classe héritant de TypeConverter. Ca marche. Mais il me reste à définir la valeur par défaut.
Merci pour votre aide.
Tu peux utiliser 2 méthodes publiques qui seront appelé par le Designer :
public bool ShouldSerializeXXXX() { }
public void ResetXXXX() { }
où XXXX est le nom de ta propriété.
Voici un exemple ;
public class ClassComplexe { private int a; public static readonly ClassComplexe ValeurDéfaut = new ClassComplexe(1664);
public ClassComplexe(int a) { this.a = a; }
public int A { get { return this.a; } set { this.a = value; } } }
public class MonContrôle {
public ClassComplexe Prop() {
}
public bool ShouldSerializeProp() { //Si Prop est la valeur par défaut, il ne faut pas sérializer la propriété par le Designer
if (this.Prop == ClassComplexe.ValeurDéfaut) return false;
return true; }
public void ResetProp() { //Mettre Prop par sa valeur par défaut this.Prop = ClassComplexe.ValeurDéfaut; } }
Dans cette exemple, la valeur par défaut de ta propriété Prop est l'instance ValeurDéfaut est sera sérializé si celle-ci est différente de cette valeur.
Bien sûr le code dans ShouldSerialize et Reset peut être plus complexe ! Tout dépend de ton besoin...
Cordialement
-- Gilles TOURREAU Responsable informatique
Société P.O.S Spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr
ShadowFil a pensé très fort :
Bonjour,
Avec l'attribut [DefaultValue(valeur)], on peut définir une valeur par
défaut à une propriété affichée dans le designer de Visual Studio 2005.
Mais comment faire pour définir une valeur par défaut pour une propriété de
type Size ou Point ? Car mon UserControl a une propriété de type struct. Pour
la modifier directement dans le designer, j'ai créé un classe héritant de
TypeConverter. Ca marche. Mais il me reste à définir la valeur par défaut.
Merci pour votre aide.
Tu peux utiliser 2 méthodes publiques qui seront appelé par le Designer
:
public bool ShouldSerializeXXXX()
{
}
public void ResetXXXX()
{
}
où XXXX est le nom de ta propriété.
Voici un exemple ;
public class ClassComplexe
{
private int a;
public static readonly ClassComplexe ValeurDéfaut = new
ClassComplexe(1664);
public ClassComplexe(int a)
{
this.a = a;
}
public int A
{
get { return this.a; }
set { this.a = value; }
}
}
public class MonContrôle
{
public ClassComplexe Prop()
{
}
public bool ShouldSerializeProp()
{
//Si Prop est la valeur par défaut, il ne faut pas
sérializer la propriété par le Designer
if (this.Prop == ClassComplexe.ValeurDéfaut)
return false;
return true;
}
public void ResetProp()
{
//Mettre Prop par sa valeur par défaut
this.Prop = ClassComplexe.ValeurDéfaut;
}
}
Dans cette exemple, la valeur par défaut de ta propriété Prop est
l'instance ValeurDéfaut est sera sérializé si celle-ci est différente
de cette valeur.
Bien sûr le code dans ShouldSerialize et Reset peut être plus complexe
! Tout dépend de ton besoin...
Avec l'attribut [DefaultValue(valeur)], on peut définir une valeur par défaut à une propriété affichée dans le designer de Visual Studio 2005.
Mais comment faire pour définir une valeur par défaut pour une propriété de type Size ou Point ? Car mon UserControl a une propriété de type struct. Pour la modifier directement dans le designer, j'ai créé un classe héritant de TypeConverter. Ca marche. Mais il me reste à définir la valeur par défaut.
Merci pour votre aide.
Tu peux utiliser 2 méthodes publiques qui seront appelé par le Designer :
public bool ShouldSerializeXXXX() { }
public void ResetXXXX() { }
où XXXX est le nom de ta propriété.
Voici un exemple ;
public class ClassComplexe { private int a; public static readonly ClassComplexe ValeurDéfaut = new ClassComplexe(1664);
public ClassComplexe(int a) { this.a = a; }
public int A { get { return this.a; } set { this.a = value; } } }
public class MonContrôle {
public ClassComplexe Prop() {
}
public bool ShouldSerializeProp() { //Si Prop est la valeur par défaut, il ne faut pas sérializer la propriété par le Designer
if (this.Prop == ClassComplexe.ValeurDéfaut) return false;
return true; }
public void ResetProp() { //Mettre Prop par sa valeur par défaut this.Prop = ClassComplexe.ValeurDéfaut; } }
Dans cette exemple, la valeur par défaut de ta propriété Prop est l'instance ValeurDéfaut est sera sérializé si celle-ci est différente de cette valeur.
Bien sûr le code dans ShouldSerialize et Reset peut être plus complexe ! Tout dépend de ton besoin...
Cordialement
-- Gilles TOURREAU Responsable informatique
Société P.O.S Spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr