Пользовательский Элемент Управления-Пользовательские Свойства
Я разработал пользовательский элемент управления в Visual Studio (WinForms C#) и есть вопрос.
Мне нужно, чтобы пользователь моего пользовательского элемента управления мог изменять определенные строковые значения, и я хотел бы, чтобы они могли добавить пользовательский элемент управления в свою форму и щелкнуть по нему, чтобы открыть панель свойств, где будут отображаться пользовательские свойства моего пользовательского элемента управления.
Как я могу иметь свои собственные свойства для моего пользовательского элемента управления? Например:
мой пользовательский элемент управления содержит текстовое поле, и я хотел бы, чтобы пользователь мог изменить значение этого текстового поля с помощью свойства с именем "текст" или "значение" в свойствах во время разработки.
3 ответа:
Вы делаете это с помощью атрибутов свойства, как это:
[Description("Test text displayed in the textbox"),Category("Data")] public string Text { get { return myInnerTextBox.Text; } set { myInnerTextBox.Text = value; } }
категория-это заголовок, под которым свойство будет отображаться в поле свойства Visual Studio. вот более полная ссылка MSDN, включая список категорий.
Это очень просто, просто добавить свойство:
public string Value { get { return textBox1.Text; } set { textBox1.Text = value; } }
использование свойства Text немного сложнее, класс UserControl намеренно скрывает его. Вам нужно будет переопределить атрибуты:
[Browsable(true), EditorBrowsable(EditorBrowsableState.Always)] public override string Text { get { return textBox1.Text; } set { textBox1.Text = value; } }