注册 登录
编程论坛 VB.NET论坛

获取一组radiobutton选中项

shenhaoli 发布于 2010-04-19 15:31, 1674 次点击
获取一组radiobutton选中项只能用遍历的方法吗???
4 回复
#2
不说也罢2010-04-19 17:05
假定Form1中有一个分组GroupBox1:

        Dim a As Control
        For Each a In Me.GroupBox1.Controls
            If TypeOf a Is RadioButton Then MsgBox(a.Text)
        Next

其它的你可以举一反三了
#3
shenhaoli2010-04-19 17:21
用中间量
很冷清,又想到了一个方法,用中间量
用一个中
程序代码:
Public Class frmradiobutton

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Me.Close()
    End Sub

    Private Sub frmradiobutton_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Rad1.Checked = True
        Radxb1.Checked = True
    End Sub

    Private Sub Rad1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Rad1.CheckedChanged
        TextBox1.Text = Rad1.Text
    End Sub

    Private Sub Rad2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Rad2.CheckedChanged
        TextBox1.Text = Rad2.Text
    End Sub

    Private Sub Rad3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Rad3.CheckedChanged
        TextBox1.Text = Rad3.Text
    End Sub

    Private Sub Radxb1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Radxb1.CheckedChanged
        TextBox2.Text = Radxb1.Text
    End Sub

    Private Sub radxb2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles radxb2.CheckedChanged
        TextBox2.Text = radxb2.Text
    End Sub
End Class
间量存储每组控件的状态,当CheckedChanged改变该中间量,下面的例子我用的是textbox控件
#4
shenhaoli2010-04-19 17:22
谢谢
#5
sywzs2010-04-20 13:58
简化一下代码,第3、4、5段合并为
    Private Sub Rad1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Rad1.CheckedChanged, Rad2.CheckedChanged, Rad3.CheckedChanged
        TextBox1.Text = sender.Text
    End Sub

第6、7段合并为
    Private Sub Radxb1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Radxb1.CheckedChanged, radxb2.CheckedChanged
        TextBox2.Text = sender.Text
    End Sub
1