代码之家  ›  专栏  ›  技术社区  ›  Nick LaMarca

动态添加事件

  •  0
  • Nick LaMarca  · 技术社区  · 14 年前

    这是一个塞内里奥,将得到我正在努力实现的……

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

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

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

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

    动态。

    请在Windows应用程序而不是Web的解决方案中作出响应。没有javascript。

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

    1 回复  |  直到 11 年前
        1
  •  2
  •   NoAlias    14 年前
            '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