2009-10-14 15 views
10

Wenn Sie Spaltenüberschriften eines Listview zur Entwurfszeit ändern, erzeugt der Designer-Code Spaltenüberschriften zur Laufzeit zur Serialisierung:Wie wird benutzerdefinierter Code für InitializeComponent bereitgestellt?

private void InitializeComponent() 
{ 
    this.listView1 = new System.Windows.Forms.ListView(); 
    this.columnHeader1 = new System.Windows.Forms.ColumnHeader(); 
    this.columnHeader2 = new System.Windows.Forms.ColumnHeader(); 
    this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { 
     this.columnHeader1, 
     this.columnHeader2 
    }); 
} 

Wie weiß der formular Designer, dass es für jede Spalte den Konstruktor aufrufen sollte gefolgt von einem Aufruf der AddRange-Methode der Columns-Eigenschaft der ListView? Ich brauche das für einen ListView wie UserControl ich schreibe.

Antwort

2

Mithilfe von speziellen Attributen können Sie dem Visual Studio-Designer mitteilen, wie Eigenschaften im Code serialisiert werden. Ein Beispiel finden Sie in der MSDN-Referenz für DesignerSerializationVisibilityAttribute. This series of articles gibt auch einen guten Überblick über die verschiedenen verfügbaren Attribute, um die Entwurfszeitunterstützung für benutzerdefinierte Steuerelemente zu erweitern. Hoffe das hilft.

+0

Vielen Dank, dass Sie sich die Zeit genommen haben zu antworten. Was ich brauche, ist mehr als die automatische Serialisierung. Ich habe einen MSDN-Artikel gefunden, der heute in meinem Beitrag beschrieben wird. –

Verwandte Themen