让我的事件显示在“属性”窗口中

时间:2010-01-04 23:45:10

标签: c# visual-studio visual-studio-2008

我正在制作一个自定义列表框(用于紧凑框架)。

我做了一个事件(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 个答案:

答案 0 :(得分:4)

示例中的代码不会创建事件,您已创建了一个属性。您需要使用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”)。