Как использовать встроенные редакторы для открытых свойств в пользовательских элементах управления - проблема с редактором свойств маски
Я думаю, что есть простое решение для моего глупого вопроса, но я просто не могу решить его сегодня.
У меня есть пользовательский элемент управления, который имеетMaskedTextBox
Контроль сам по себе. Я также представил некоторые из его свойств для изменения пользователем.
Одно из этих свойствMask
свойство, которое я хочу показать с возможностью запуска редактора с предопределенными значениями, как в обычном элементе управления MaskedTextBox.
Поэтому я создал открытое свойство InputMask и настроил все так, чтобы оно могло работать, но после отображения редактора я получаю диалоговое окно с сообщением об ошибке:
В экземпляре объекта не задана ссылка на объект
Если я не использую редактор и не копирую маску или не устанавливаю ее, код работает без проблем.
Вот пример кода:
...
MaskedTextBox maskedtextbox;
myUserControl()
{
...
maskedtextbox = new MaskedTextBox(){
some stuff...
};
}
[DefaultValue("")]
[Editor("System.Windows.Forms.Design.MaskPropertyEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))]
[Localizable(true)]
[MergableProperty(false)]
[RefreshProperties(RefreshProperties.Repaint)]
public string InputMask
{
get { return this.maskedtextbox.Mask; }
set { this.maskedtextbox.Mask = value; }
}