2009-03-01 7 views
1

Pour un contrôle WinForms, j'aimerais déplacer certains paramètres dans un sous-objet. L'un d'eux est une classe personnalisée contenant toutes les chaînes interface utilisateur, l'autre OpenFileDialog:Winforms Designer: Modifier (et conserver) les propriétés dans les sous-objets

class MyControl: Control 
{ 
    // ... 
    private OpenFileDialog m_dlgOpen = new OpenFileDialog(); 
    public OpenFileDialog DialogOpen 
    { 
    get { return m_dlgOpen; } 
    } 
} 

Cela ajoute l'objet sous le concepteur, et permet de modifier ses propriétés (par exemple titre, extension par défaut, filtre). Cependant, les modifications ne sont pas ajoutées à la méthode InitalizeComponent, elles sont donc perdues.

Est-il possible de rendre ces propriétés "persistantes" dans la méthode InitializeComponent?

Répondre

5

Dites au concepteur de sérialiser l'objet lui-même:

[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] 
    public OpenFileDialog DialogOpen { 
    get { return m_dlgOpen; } 
    } 
Questions connexes