J'ai écrit un contrôle personnalisé qui imite l'apparence d'un en-tête de table. Les colonnes qu'il dessine sont données par une collection d'objets avec une propriété Text string et une propriété Width int. Les deux ont Browsable
, Category
, DefaultValue
et Description
attributs ajoutés. Dans le concepteur, la collection est modifiable et l'utilisateur peut définir le texte et la largeur comme ils le feraient pour un contrôle, et les attributs sont honorés comme je l'espérais. Cependant, l'utilisateur ne peut pas modifier le nom de la variable; le code généré ressemble à ceci:Comment modifier le nom de variable d'un objet dans le concepteur?
HeaderMimicColumn headerMimicColumn1 = new HeaderMimicColumn();
HeaderMimicColumn headerMimicColumn2 = new HeaderMimicColumn();
HeaderMimicColumn headerMimicColumn3 = new HeaderMimicColumn();
...
Est-il possible de faire en sorte que l'utilisateur peut spécifier les noms des variables utilisées pour les colonnes, dans le concepteur? Si c'est le cas, comment?
EDIT: Pour être clair, HeaderMimicColumn
ne dérive pas de System.Windows.Forms.Control
, c'est juste une classe ordinaire avec ces deux propriétés et une paire d'événements qui se déclenchent quand ils changent.
Je devrais probablement également expliquer que la collection a son DesignerSerializationVisibility
mis à Contents
.
Super, merci. Pour référence, pour obtenir le comportement que je voulais, j'avais besoin d'ajouter [DesignTimeVisible (false)] et [ToolboxItem (false)] à la classe aussi bien. – Simon