无法在代码中创建按钮的单击事件

时间:2014-03-03 17:57:10

标签: vb.net visual-studio-2010

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

尝试为动态创建的按钮patiekalai添加Click事件处理程序时出错:

Handles子句需要在包含类型或其基类型之一中定义WithEvents变量。

1 个答案:

答案 0 :(得分:1)

您无法执行此操作,因为在运行时单击Button1之前该按钮不存在。你想要做的是在运行时添加一个处理程序。

从“Patiekalai_Click”方法中删除“Handles”。然后,在运行时创建控件之后:“patiekalai.Image = Image ....”添加此行

AddHandler patiekalai.Click AddressOf Patiekalai_Click

这告诉按钮的click事件调用所选方法。