Получите мое событие, чтобы показать в окне свойств - PullRequest
0 голосов
/ 05 января 2010

Я делаю пользовательский список (для компактной структуры).

Я создал событие (OnDrawItem).Я хотел бы знать, как заставить отображать мое настраиваемое событие в списке событий в окне свойств в Visual Studio.

Я использую C # и Visual Studio 2008.

пример моего класса с событием:

class OwnerDrawnListBox<T> : System.Windows.Forms.Control
{
    // Other List Box things

    public DrawItemEventHandler DrawItemEventHandler { get; set; }

    public OwnerDrawnListBox()
    {
       // ListBox init stuff
    }

    // Other ListBox Stuff
}

1 Ответ

4 голосов
/ 05 января 2010

Код в вашем примере не создает событие, вы создали свойство. Вам нужно использовать ключевое слово event:

class OwnerDrawnListBox<T> : System.Windows.Forms.Control
{
    // Other List Box things

    public event DrawItemEventHandler DrawItemEventHandler;

    public OwnerDrawnListBox()
    {
       // ListBox init stuff
    }

    // Other ListBox Stuff
}

Если он не отображается сразу в сетке свойств, возможно, вам придется перестроить свой проект. Кроме того, вы можете захотеть переименовать ваше событие, чтобы оно не совпадало с именем делегата (удалите бит «EventHandler» или назовите его как «ItemDrawn»).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...