我正在制作一个自定义列表框(用于紧凑框架)。
我做了一个事件(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
}
答案 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”)。