在OnInit中:
Dim btn As New Button()
btn.Text = "Button1"
Me.Controls(1).Controls.Add(btn)
AddHandler btn.Click AddressOf Button1_Click

解决方案 »

  1.   

    我是用的下面这个函数生成按钮的,在addhandler时提示Click不是system.object的事件
        Function CreateLetteredLinkButton(ByVal buttonText As String) As LinkButton
            Dim btnTmp = New LinkButton()
            btnTmp.Text = buttonText
            btnTmp.CssClass = "linkSmallBold"
            btnTmp.CommandArgument = buttonText
            AddHandler btnTmp.Click, AddressOf Me.Letter_Clicked 
            Return btnTmp
        End Function
    另外,如果放在Load事件里可以吗?
      

  2.   

    c#
    在Page_Load()函数中
        Button btnDel = new Button();
        btnDel.Click+=new System.EventHanlder(dtnDel_click)
        tabInput.Rows[i].Cells[3].Controls.Add(btnDel_click);private void btnDel_click(object sender, System.EventArgs e)
    {
      //
    }
      

  3.   

    看看这个希望对你有帮助:动态创建多个按钮并触发各个事件
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim count As Integer = session("count")      
            Dim i As Integer
            Dim NBT As Button
            For i = 0 To count
                NBT = New Button()
                NBT.ID = "NBT" + i.ToString
                NBT.Text = "这是第" + i.ToString + "个按钮"
                AddHandler NBT.Click, AddressOf clickme
                Panel1.Controls.Add(NBT)
                Panel1.Controls.Add(New LiteralControl("<p></p> "))
            Next
        End Sub    Private Sub clickme(ByVal sender As System.Object, ByVal e As System.EventArgs)
            Dim btn As Button = sender
            Select Case btn.ID
                Case "NBT0"
                    Response.Write("你按下了第0个按钮")
                Case "NBT1"
                    Response.Write("你按下了第1个按钮")
            End Select
        End Sub