vb.net 中动态创建对象的事件处理

Event handling for dynamically created object in vb.net

我正在 windows 表单上创建动态对象,到目前为止,我已经设法动态创建标签和单选按钮等对象。但是,现在我正在为事件处理过程而苦苦挣扎。我知道我必须使用 AddressHandler 和 AddressOf(正如您从下面的代码中看到的那样)

Private Sub btnCreate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCreate.Click

    Dim i As Integer
    Dim radi As RadioButton
    For i = 1 To 4
        radi = New RadioButton
        radi.Location = New System.Drawing.Point(j, n)
        n = n + 60
        radi.Text = List(i)
        radi.Name = "rad" & i

        Me.Controls.Add(radi)
        AddHandler radi.CheckedChanged, AddressOf Me.RadioButton_Checked
    Next

End Sub
Private Sub RadioButton_Checked(ByVal sender As System.Object, ByVal e As System.EventArgs)
    If TypeOf sender Is RadioButton Then

    End If
    End If
End Sub

我需要代码来输出一个消息框,以防用户 select 从单选框中选择特定选项。例如,如果他们 select "true" 应该弹出一个消息框。

有人可以给我一些指导,仅让代码识别用户已经 select 编辑了单选按钮并识别单选按钮的文本,例如"true" , "wrong" 等等

提前致谢。

如果您需要更多说明,请询问。

尝试转换发件人:

With DirectCast(sender, RadioButton)
  If .Checked Then
    'Do Something
  End If
End With

您可以使用 Tag 属性 并将其设置为一些可以帮助您稍后识别控件的值。

radi.Tag = 1

然后是

Dim radi as RadioButton = CType(sender, RadioButton)
if radi.Tag = 1 Then

End If