动态添加事件

时间:2010-11-23 02:28:37

标签: vb.net winforms

这是一个scernerio,将得到我想要完成的......

假设我有一个带有文本框的表单输入一个数字和一个名为“创建”的按钮 当用户输入数字并单击创建时,表单将填充文本框中输入的按钮数,按钮的标题将标记为连续数字。

例如,如果输入5,表单将填充5个标记为button1,button2,... button5的按钮

当您点击这些新创建的按钮时,将弹出一个消息框,说明按钮名称。

基本上我需要知道如何创建事件并用代码填充它们我猜

动态。

请回复一个Windows应用程序而非网络的解决方案。没有JavaScript。

请有人回复一个代码示例,这个想法对我来说有点模糊

1 个答案:

答案 0 :(得分:2)

        'Make sure that the textbox contains a number.
    If IsNumeric(TextBox1.Text) Then

        'Make sure that it's a positive number.
        If CInt(TextBox1.Text) > 0 Then

            For i = 1 To CInt(TextBox1.Text)

                Dim x As New Button
                x.Name = "Button" & i.ToString
                x.Top = 100 + (i * 30) 'To avoid stacking.
                AddHandler x.Click, AddressOf y 'Add the event here.

                'Add it to the form.
                Controls.Add(x)

            Next

        End If

    End If

    Private Sub y(ByVal sender As System.Object, ByVal e As System.EventArgs)

    MsgBox(CType(sender, Button).Name)

End Sub