Фильтрация раскрывающегося списка свойств в пользовательском элементе управления

Я добавил следующее свойство в пользовательский элемент управления

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,

Другие вопросы по тегам