Contrôle utilisateur – Propriétés personnalisées

J’ai développé un contrôle utilisateur dans Visual Studio (WinForms C #) et j’ai une question.

J’ai besoin de l’utilisateur de mon contrôle utilisateur pour pouvoir modifier certaines valeurs de chaîne et j’aimerais qu’il puisse append le contrôle utilisateur à son formulaire et cliquer dessus pour faire apparaître le volet Propriétés où les propriétés personnalisées de mon contrôle utilisateur seront affiché

Comment puis-je avoir mes propres propriétés personnalisées pour mon contrôle utilisateur? Par exemple:

Mon contrôle utilisateur contient une zone de texte et je souhaite que l’utilisateur puisse modifier la valeur de cette zone de texte via une propriété nommée “Texte” ou “Valeur” dans les propriétés à la conception.

Vous faites cela via des atsortingbuts sur les propriétés, comme ceci:

[Description("Test text displayed in the textbox"),Category("Data")] public ssortingng Text { get { return myInnerTextBox.Text; } set { myInnerTextBox.Text = value; } } 

La catégorie est l’en-tête sous lequel la propriété apparaîtra dans la boîte de dialog Propriétés Visual Studio. Voici une référence MSDN plus complète , comprenant une liste de catégories.

C’est très simple, ajoutez simplement une propriété:

 public ssortingng Value { get { return textBox1.Text; } set { textBox1.Text = value; } } 

L’utilisation de la propriété Text est un peu plus compliquée, la classe UserControl la cache intentionnellement. Vous devrez remplacer les atsortingbuts:

 [Browsable(true), EditorBrowsable(EditorBrowsableState.Always)] public override ssortingng Text { get { return textBox1.Text; } set { textBox1.Text = value; } } 

Ajoutez simplement des propriétés publiques au contrôle utilisateur.

Vous pouvez append les [Category("MyCategory")] et [Description("A property that controls the wossname")] pour le rendre plus agréable, mais tant qu’il s’agit d’une propriété publique , il doit apparaître dans le panneau des propriétés.