动态创建控件数组、及创建的控件数组响应事件
动态创建控件数组、及创建的控件数组响应事件环境说明:
1、有三、个窗体。窗体1(find_Frm)/窗体2(opt_Frm)/ 窗体3(print_Frm)
2、find_Frm有按钮,命名为find2_cmd。opt_Frm有optionbutton,命名为optadd(0)
3、要求按find2_cmd以后,在opt_Frm上创建多个optionbutton控件数组optadd(a),且显示窗体2
4、点击optadd(a)任意一个,在窗体3(print_Frm)上显示数据内容。
——————————————————————————————————————
find_frm下 find2_cmd 部分代码如下(a已经赋值)
——————————————————————
opt_Frm.Show
ReDim optadd(a)
For i = 1 To a
opt_w = Int(i / 30)
opt_nm = find2(i) & find1(i)
Set optadd(i) = opt_Frm.Controls.Add("vb.optionbutton", opt_nm)
Load opt_Frm.optadd(i)
optadd(i).Move 200 + opt_w * 2000, (i - opt_w * 30) * 400, 2000, 375
optadd(i).Caption = opt_nm
optadd(i).Visible = True
optadd(i).Font = "宋体"
optadd(i).FontBold = True
optadd(i).FontSize = 12
Next i
————————————————————————————
opt_frm 下代码(r/w已赋值)
Private Sub optadd_Click(Index As Integer)
ReDim opt_all(w)
If optadd(Index).Value = True Then
For j = 1 To r
opt_temp = xlSheet.Cells(i, 1)
If opt_temp = find1(Index) Then
For k = 1 To w
opt_all(k) = opt_all(k) + xlSheet.Cells(1, k) & ":" & xlSheet.Cells(j, k) & Chr(13) & Chr(13)
Next k
End If
Next j
End If
print_Frm.Show
print_Frm.Print opt_all(k)
End Sub
————————————————————————————
问题:在窗体opt_Frm上可以创建出多个optionbutton控件,但对点击optadd(1 to a)无法做出响应。仅仅对optadd(0)有响应。
百思不得其解,VB小小白,求大神帮助。