Frage

Für eine WinForms Kontrolle, würde Ich mag bestimmte Einstellungen in ein Sub-Objekt bewegen. Einer von ihnen ist eine benutzerdefinierte Klasse enthält alle UI-Strings, der andere ein Openfiledialog:

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

Damit wird das Unterobjekt für den Designer, und ermöglicht es seine Eigenschaften (zum Beispiel Titel, Standarderweiterung, Filter) zu bearbeiten. Allerdings sind die Änderungen nto zum InitalizeComponent Methode hinzugefügt, so dass sie verloren sind.

Ist es möglich, diese Eigenschaften machen in der InitializeComponent Methode „anhalten“?

War es hilfreich?

Lösung

Sagen Sie den Designer das Objekt serialisiert selbst:

  [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
  public OpenFileDialog DialogOpen {
    get { return m_dlgOpen; }
  }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top