任何人都可以请压缩以下代码吗?
Dim a as integer = 0
Dim b as integer = 4
Dim c as integer =4
Dim d as integer =4
For Each rad As RadioButton In GroupBox1.Controls
If b > 1 Then
rad.Text = ds.Tables("questionBank").Rows(a).Item(b)
b = b - 1
End If
Next
a = a + 1
For Each rad As RadioButton In GroupBox2.Controls
If c > 1 Then
rad.Text = ds.Tables("AddressBook").Rows(a).Item(c)
c = c - 1
End If
Next
a = a + 1
For Each rad As RadioButton In GroupBox2.Controls
If d > 1 Then
rad.Text = ds.Tables("AddressBook").Rows(a).Item(d)
d = d - 1
End If
Next
我正在开发基于LAN的多选问题MCQ应用程序。 我有一个包含多个组框的表单,每个组包含三个单选按钮。 每个单选按钮的text属性必须显示问题的一个选项,以便用户可以选择其中一个选项作为答案。
数据集'ds'包含问题和答案。每行包含一个问题和三个选项。 问题在第1列,选项分别在第2列和第3列中。
变量a用于遍历行,变量b,c和d用于循环遍历行。
答案 0 :(得分:0)
尝试:
取代
rad.Text = ds.Tables("questionBank").Rows(a).Item(b)
带
rad.Text = ds.Tables("questionBank").Rows(a)(b)
答案 1 :(得分:0)
如果您使用编号系统命名您的无线电按钮(即rb00),您可以使用行索引和项目索引按其名称(即GroupBox1.Controls("rb" + rowindex.tostring + itemindex.tostring).text = ds.Tables("questionBank").Rows(rowindex).Item(itemindex)
)访问无线电按钮。然后使用for循环代替a for each并遍历表行并嵌套for循环以遍历项目。迭代变量成为你的rowindex和itemindex。 Count属性减1将成为您的限制。
您可以使用OfType属性循环遍历组框:
For Each gb As GroupBox in Me.Controls.OfType(Of GroupBox)
'some code
Next