2014-03-03 80 views
1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)  Handles Button1.Click 
Panel1.Controls.Clear() 
Dim patiekalai = New Button() 
Panel1.Controls.Add(patiekalai) 
patiekalai.Location = New Point(0, 0) 
patiekalai.Size = New Size(80, 50) 
patiekalai.Image = Image.FromFile("../M/Karštieji patiekalai.jpg") 

Private Sub Patiekalai_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Patiekalai.Click 

我得到的錯誤,而試圖添加一個Click事件處理程序爲我的動態創建按鈕patiekalai:不能在代碼中創建按鈕單擊事件

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

+0

也許分享錯誤代碼你不覺得? –

+0

錯誤句柄子句需要在包含類型或其基類型中定義的WithEvents變量。 – Soundflow

+1

將此信息添加到您的問題;) –

回答

1

你不能這樣做,因爲在運行時單擊Button1之前該按鈕不存在。你想要做的是在運行時添加一個處理程序。

從「Patiekalai_Click」方法中刪除「手柄」。然後,您創建在運行時控制之後:「patiekalai.Image =圖像......」加入這一行

AddHandler patiekalai.Click AddressOf Patiekalai_Click 

這告訴按鈕的點擊事件來調用所選擇的方法。