2010-01-04 42 views
0

我正在製作一個自定義列表框(用於緊湊框架)。讓我的事件顯示在屬性窗口中

我做了一個事件(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 
} 

回答

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」)。

+0

這樣做!謝謝。 – Vaccano 2010-01-05 00:18:06

相關問題