簡體   English   中英

Handles子句需要在包含類型中定義的WithEvents變量或VB.net中的一個基類型

[英]Handles clause requires a WithEvents variable defined in the containing type or one of its base types in VB.net

我有一個使用Sharpdevelop從c#轉換的VB.net項目。 當我打開項目時,我可以運行得很好。 然后我在表單中添加了一個按鈕,突然出現12個錯誤,說:

Handles子句需要在包含類型或其基類型之一中定義的WithEvents變量

對於看起來像這樣的行:

Private Sub topListButton_Click(sender As Object, e As EventArgs) _
    Handles topListButton.Click

這是從c#轉換的代碼。 我不知道為什么它最初運行但在我改變項目后遭到轟炸。

我嘗試刪除部分行:

Handles topListButton.Click

但現在按鈕點擊不會觸發。 任何線索將不勝感激。

VB.Net有一些奇怪的錯誤(或功能,取決於誰在詢問)。
如果要使用Handles關鍵字附加事件處理程序,則必須使用WithEvents關鍵字聲明引發事件的對象。
奇怪的是,事件將在有或沒有WithEvents聲明的情況下引發,它的唯一目的是允許您使用Handles關鍵字。 您仍然可以使用Add handler語句將事件附加到處理Add handler
您可以在此處查看代碼示例。

保存topListButton_Click方法的主體(Ctrl-C),刪除整個方法,通過雙擊WinForms設計器中的topListButton重新創建它,然后再次插入主體(Ctrl-V)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM