代码之家  ›  专栏  ›  技术社区  ›  Vaccano

让我的活动显示在“属性”窗口中

  •  0
  • Vaccano  · 技术社区  · 15 年前

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

    我做了一件事。我想知道如何让我的自定义事件显示在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 回复  |  直到 15 年前
        1
  •  4
  •   Rory    15 年前

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