2009-03-01 5 views
1

Für ein WinForms-Steuerelement möchte ich bestimmte Einstellungen in ein Unterobjekt verschieben. Einer von ihnen ist eine benutzerdefinierte Klasse alle UI-Strings enthält, die andere eine Openfile:Winforms-Designer: Eigenschaften in Unterobjekten ändern (und beibehalten)

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

Dadurch wird das Unter Objekt an den Designer, und ermöglicht es seine Eigenschaften (zum Beispiel Titel, Standarderweiterung, Filter) zu bearbeiten. Die Änderungen werden jedoch der Methode InitalizeComponent hinzugefügt, sodass sie verloren gehen.

Ist es möglich, diese Eigenschaften in der InitializeComponent Methode "persistent" zu machen?

Antwort

5

Sagen Sie der Designer das Objekt serialisiert selbst:

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