Фильтрация раскрывающегося списка свойств в пользовательском элементе управления
Я добавил следующее свойство в пользовательский элемент управления
private Control _associatedControl = new Control();
[Description("Sets Asociated Control"),
Category("EzData"),
DefaultValue(""),
Browsable(true)]
public Control AssociatedControl
{
get => _associatedControl;
set
{
_associatedControl = value;
}
}
во время разработки список всех элементов управления в родительской форме. Мой вопрос, как я могу сделать список, включает только элементы управления в определенных доменах (другие элементы управления, которые я разработал).
1 ответ
Дизайнер заполняет список в зависимости от типа объекта. Например, если тип свойства Button
, список будет содержать только кнопки управления.
Вы можете использовать базовый тип (или интерфейс) для своих элементов управления, а затем объявить свойство с тем же типом. Таким образом, дизайнер покажет в списке только объекты, имеющие этот тип (или интерфейс).
Например, объявив свойство:
public MyBaseControl AssociatedControl { get; set; }
Затем дизайнер перечислит все экземпляры элементов управления, которые получены из MyBaseControl
,