使RadionButtons出现在GroupBox的前面

时间:2017-01-12 10:46:02

标签: vb.net forms debugging radio-button groupbox

当我在GroupBox内动态创建RadionButton并添加4 GroupBox时,它会以某种方式将RadionButton置于GroupBox之后。

我首先获得了GroupBox的代码,因此为什么RadionButton没有显示在GroupBox上?

参考代码:

multichoicegroupbox(Qnum) = New GroupBox : multichoicegroupbox(Qnum).Location = New Point(X, (Y - 5))
multichoicegroupbox(Qnum).Width = 230 : multichoicegroupbox(Qnum).Height = 120
frmQuizForStudents.Controls.Add(multichoicegroupbox(Qnum))

For MultichoiceCheckNum = 1 to 4
    rdbmultichoice(MultichoiceCheckNum) = New RadioButton
    rdbmultichoice(MultichoiceCheckNum).Location = New Point(multichoicegroupbox(Qnum).Location.X + 10,
                                                            (multichoicegroupbox(Qnum).Location.Y + (MultichoiceCheckNum * 24)))
    rdbmultichoice(MultichoiceCheckNum).Font = New Font("Arial", 9)
    rdbmultichoice(MultichoiceCheckNum).Text = multichoice(MultichoiceCheckNum)
    multichoicegroupbox(Qnum).Controls.Add(rdbmultichoice(MultichoiceCheckNum))

    Y += 24
Next MultichoiceCheckNum

当我为New Point的{​​{1}}代码行发表评论时,屏幕左上角会显示GroupBox,其中所有4 GroupBox位于顶部它的。

1 个答案:

答案 0 :(得分:1)

因为RadioButton的位置与其容器相关。而是指定相对于表单的位置。按钮在那里,但看不见。

换句话说,你不应该在计算中添加GroupBox的位置,而只需将GroupBox的顶部/左侧位置视为RadioButtons坐标的位置0,0。

For MultichoiceCheckNum = 1 to 4
    rdbmultichoice(MultichoiceCheckNum) = New RadioButton
    rdbmultichoice(MultichoiceCheckNum).Location = New Point(10,
                                           10 + (MultichoiceCheckNum * 24))
    rdbmultichoice(MultichoiceCheckNum).Font = New Font("Arial", 9)
    rdbmultichoice(MultichoiceCheckNum).Text = multichoice(MultichoiceCheckNum)
    multichoicegroupbox(Qnum).Controls.Add(rdbmultichoice(MultichoiceCheckNum))

Next MultichoiceCheckNum