首页 > 解决方案 > 无法在 VB.Net 中生成多个单选按钮

问题描述

我目前正在处理的程序的一部分将涉及我为存储在数组中的每个条目制作多行单选按钮。这将涉及以编程方式创建包含三个单选按钮的组框。但是,我似乎无法让我的代码为每个框生成超过 1 个按钮。我的沙箱代码如下。

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim rb As RadioButton
    Dim gb As GroupBox

    For i As Integer = 1 To 3

        gb = New GroupBox

        With gb
            .Size = New System.Drawing.Size(400, 100)
            .Name = "gb" & i
            .Top = 30 + 100 * (i - 1)
            .Left = 30
        End With

        Me.Controls.Add(gb)

        For j As Integer = 1 To 3

            rb = New RadioButton

            With rb
                .Top = 50
                .Left = 40 * j
                .Name = "rb" & i & j
            End With

            Me.Controls("gb" & i).Controls.Add(rb)
        Next

    Next

    Form2.Show()

End Sub

值得注意的是:用“文本框”查找/替换“单选按钮”给了我三个文本框——单选按钮是否有一些我缺少的属性?

提前致谢!!

标签: vb.netvisual-studioradio-buttondynamically-generated

解决方案


一旦你定义了宽度属性,复选框就会出现。

我发现至少在我的机器上默认大小是 104。所以,向右移动 40 是不够的。

            With rb
                .Top = 50
                .Left = 40 * j
                .Name = "rb" & i & j
                .BackColor = System.Drawing.Color.Orange
                '.Text = "rb" & i & j
                .Width = 40
            End With

背景颜色(可以删除,有助于显示复选框的实际位置)。


推荐阅读