Создать расширяемую группу в сетке свойств?

СЦЕНАРИЙ

Я субклассListBox и я добавил свойства цвета, когда мой контрольВключено, инвалидили вReadOnly Режим:

ВОПРОС

В C # или VB.Net, что мне нужно сделать, чтобы организовать свойства в сетке свойств в расширяемые группы с этой структурой ?:

[+] State Enabled

  [+] Selected Item
      · BackColor
      · ForeColor

  [+] Unselected Item
      · BackColor
      · ForeColor

Это визуальный пример взят изKrypton Пользовательский элемент управления lib, демонстрирующий то, что я хотел бы имитировать:

ОБНОВИТЬ

Я думаю, что в этом URL объясняется все необходимое о свойствах сетки:

http://www.codeproject.com/Articles/2764/Using-PropertyGrid-Part-I

Но это сфокусировано, чтобы сделать это с формой, которая имеетнагрузка В этом случае я все еще не могу понять, как реализовать этот пример в своем пользовательском элементе управления, потому что, если я создаю подкласс для настройки сетки свойств, как в этом примере, я не могу получить доступ к базовому классу своего элемента управления.

Мой код имеет простую структуру, подобную этой:

Public Class ElektroListBox : Inherits ListBox

    <Category("Appearance")>
    <Description("The BackColor to paint the selected item when the control is enabled.")>
    Public Property StateEnabledItemSelectedBackColor As Color
        Get
            Return Me.stateEnabledItemSelectedBackColor1
        End Get
        Set(ByVal value As Color)
            Me.stateEnabledItemSelectedBackColor1  = value
            Me.Invalidate(invalidateChildren:=False)
        End Set
    End Property

    Private stateEnabledItemSelectedBackColor1 As Color = Color.Red

End Class

Ответы на вопрос(2)

Ваш ответ на вопрос