Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

CoqBlog

.NET is good :-)
{ Blog de Gaël Covain }

Actualités

Rafraichissement PropertyGrid du Designer (attribut RefreshProperties)

Pour ceux qui ne connaissent pas, voici comment faire pour déclencher le rafraichissement de la grille de propriété du Designer sur le changement de valeur d'une des propriétés.

Ceci est particulièrement utile quand le fait de changer la valeur d'une propriété affichée dans la fameuse grille pour notre composant déclenche le changement de valeur d'une autre propriété du composant, elle aussi affichée dans la grille.

Pour ceux qui ne verrais pas très bien ce dont je veux parler, prenez le projet d'exemple sur ce source sur CSharpFR.

Petit exemple :
Prenons un contrôle TextBox personnalisé, possédant une propriété TextBoxType permettant de choisir un type d'entrée.

Si on fait ceci, on observera que la mise à jour de l'affichage de cette dernière dans la grille ne sera pas effectuée en "temps réel" :

[Browsable(true), Category("Appearance")]
public TextBoxTypes TextBoxType
{
    get
    {
        return _type;
    }
 
    set
    {
        _type = value;
 
        // changement du texte du TextBox
        switch ( _type )
        {
            case TextBoxTypes.Number:
                this.Text = "Veuillez saisir un nombre.";
                break;
 
            case TextBoxTypes.Text:
                this.Text = "Veuillez saisir un texte.";
                break;
        }
    }
}

Le changement de valeur met à jour la propriété Text.
Le rendu du contrôle sur la surface de design est bien effectué, cependant vous observerez que dans la grille le contenu de "Text" n'est pas actualisé. (si vous cliquez dans la zone de saise il le sera).


La "parade" consiste donc à utiliser l'attribut RefreshProperties qui pemettra de déclencher la mise à jour de la grille à chaque changement de valeur de la propriété TextBoxType :

[Browsable(true), Category("Appearance"), RefreshProperties(RefreshProperties.Repaint)]

public TextBoxTypes TextBoxType

{

    ...

}

Ce genre de choses peut être bon à savoir :-)

 

Liens utiles :
RefreshPropertiesAttribute

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: samedi 25 juin 2005 12:16 par coq
Classé sous : , , ,

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Conversion de fichiers RAW en fichier JPEG avec WPF par Perspective le il y a 13 minutes

- [WPF] XPSReader v0.2 par Blog Technique d'Audrey PETIT le il y a 1 heure et 58 minutes

- Entity Framework : providers Oracle, MySQL et PostgreSQL par Matthieu MEZIL le il y a 8 heures et 33 minutes

- [WPF] Nouvel article sur c2i.fr par Richard Clark le 09-06-2008, 17:33

- F# nouvelle CTP 1.9.6.2 (update) par Pierrick's Blog le 09-06-2008, 13:27

- La suite ...Proposition de collaboration rédactionnelle entre les communautés de développeurs et Microsoft France par LucasR le 09-05-2008, 17:45

- [Fun] Votre simulateur de vol avec Microsoft ESP par Julien Chable le 09-05-2008, 12:02

- [Best Practices] Customisation du My Site : Comment le modifier en amont et en aval par The Mit's Blog le 09-05-2008, 10:47

- Patrick Tisseghem s'en est allé ... par The Mit's Blog le 09-05-2008, 10:04

- MS AutoCollage par alex# le 09-05-2008, 09:18