使 RadionButtons 出现在 GroupBox 的前面
Making RadionButtons appear infront of a GroupBox
当我动态创建一个 GroupBox
并在 GroupBox
中添加 4 个 RadionButton
时,它以某种方式将 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
当我注释掉 GroupBox
的 New Point
代码行时,GroupBox
出现在屏幕的左上角,所有 4 个 RadionButton
都在工作在上面。
因为 RadioButton 的 Location 是相对于它们的容器的。相反,您指定一个相对于表单的位置。按钮在那里,但看不见。
换句话说,您不应在计算中添加 GroupBox 的位置,而应将 GroupBox 的 top/left 位置视为 RadioButton 坐标的位置 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
当我动态创建一个 GroupBox
并在 GroupBox
中添加 4 个 RadionButton
时,它以某种方式将 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
当我注释掉 GroupBox
的 New Point
代码行时,GroupBox
出现在屏幕的左上角,所有 4 个 RadionButton
都在工作在上面。
因为 RadioButton 的 Location 是相对于它们的容器的。相反,您指定一个相对于表单的位置。按钮在那里,但看不见。
换句话说,您不应在计算中添加 GroupBox 的位置,而应将 GroupBox 的 top/left 位置视为 RadioButton 坐标的位置 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