老师帮我看一下面代码是逻辑问题还是什么,在没有图处的时候正常的,有图片就不正常的
'有图片的对题目中图处进行处理
Dim pbx As WinForm.PictureBox = Forms("题目").Controls("PictureBox1")
Dim h As Integer '设定控件高度
If dr.IsNull("图片") Then
pbx.Visible = False
h = Forms("题目").Controls("Label1").Height + Forms("题目").Controls("Label1").Top
' msgbox(h & "---1")
Else
pbx.Visible = True
pbx.Top = Forms("题目").Controls("Label1").Height + Forms("题目").Controls("Label1").Top '设定图片位置
pbx.Image = GetImage(dr("图片")) '显示图片
h = pbx.Height + pbx.Top
' msgbox(h & "---2")
End If
Forms("题目").Controls("Label2").Text = h
'生成选项
Dim rb_Number(8) As WinForm.RadioButton
Dim lbl(8) As WinForm.Label
Dim Number_Q() As String ={"A","B","C","D"} '选项数组
Dim i As Integer = 1
Dim j As Integer = 0 '设定选项
Do While i <= 4
Forms("题目").RemoveControl("rb_" & i & "_" & Number_Q(j))
i = i + 1
j = j + 1
Loop
Forms("题目").RemoveControl("lbl_1" )
' Forms("题目").RemoveControl("lbl_5" )
'设定选项目的高度
Forms("题目").Controls("GroupBox2").Width = Forms("题目").Controls("GroupBox1").Width - 100
Forms("题目").Controls("GroupBox2").Top = h - 5
Forms("题目").Controls("GroupBox2").Left = Forms("题目").Controls("Label1").Left - 10
Forms("题目").Controls("Label2").Text
h = Forms("题目").Controls("GroupBox2").Top
'创建控件
i = 1
j = 0
Do While i <= 4
If i = 1 Then
'设定组属性
lbl(i) = Forms("题目").CreateControl("lbl_" & i , ControlTypeEnum.Label)
Forms("题目").Controls("GroupBox2").AddControl(lbl(i))
'设定属性
lbl(i).Text = StrToWide("(" & Vars("Question_No") & ")")
lbl(i).Left = Forms("题目").Controls("GroupBox2").Left - 15
lbl(i).Top = Forms("题目").Controls("GroupBox2").Top - 20
lbl(i).AutoSize = True
' msgbox(lbl(i).Top & "----" & Forms("题目").Controls("GroupBox2").Top )
'创建选项
rb_Number(i) = Forms("题目").CreateControl("rb_" & i & "_" & Number_Q(j) , ControlTypeEnum.RadioButton)
Forms("题目").Controls("GroupBox2").AddControl(rb_Number(i))
'设定选项属性
rb_Number(i).Text = dr("选项_1组_" & Number_Q(j)) & vbcrlf
rb_Number(i).Left = lbl(i).Left + lbl(i).Width
rb_Number(i).Top = lbl(i).Top - 5
rb_Number(i).Width = Forms("题目").Controls("GroupBox2").Width
Vars("Question_No") = Vars("Question_No") + 1
'msgbox(i & "---1")
Else
rb_Number(i) = Forms("题目").CreateControl("rb_" & i & "_" & Number_Q(j) , ControlTypeEnum.RadioButton)
Forms("题目").Controls("GroupBox2").AddControl(rb_Number(i))
rb_Number(i).Text = dr("选项_1组_" & Number_Q(j)) & vbcrlf
rb_Number(i).Left = rb_Number(i-1).Left
rb_Number(i).Top = rb_Number(i-1).Top + rb_Number(i-1).Height
rb_Number(i).Width = Forms("题目").Controls("GroupBox2").Width
'msgbox(i & "---2")
End If
h = h + rb_Number(i).Height
Forms("题目").Controls("Label2").Text = Forms("题目").Controls("Label2").Text & "," & h
i = i + 1
j = j + 1
Loop
Forms("题目").Controls("GroupBox2").Height = h - rb_Number(4).Height

此主题相关图片如下:1.png


此主题相关图片如下:2.png