2009-10-14 9 views
10

Lorsque vous modifiez les en-têtes de colonnes d'un ListView au moment de la conception, le concepteur génère un code de sérialisation en-têtes de colonnes lors de l'exécution:Comment fournir un code personnalisé pour InitializeComponent?

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 
    }); 
} 

Comment les formes concepteur savent qu'il doit appeler le constructeur pour chaque colonne suivi d'un appel à la méthode AddRange de la propriété Columns de ListView? J'ai besoin de ceci pour un ListView comme UserControl que j'écris.

Répondre

2

Vous pouvez utiliser des attributs spéciaux pour indiquer au concepteur Visual Studio comment sérialiser les propriétés dans le code. Consultez la référence MSDN pour DesignerSerializationVisibilityAttribute pour un exemple. This series of articles donne également un bon aperçu des différents attributs disponibles pour étendre la prise en charge du temps de conception pour les contrôles personnalisés. J'espère que cela t'aides.

+0

Merci de prendre le temps de répondre, ce dont j'ai besoin est plus que ce que la sérialisation automatique peut fournir. J'ai trouvé un article MSDN aujourd'hui décrit dans mon post ci-dessous. –