vb 矩阵问题
用控件label★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★如上面图,用label生成长为8宽为4的label矩阵,请问有实现的代码吗??...
用控件label
★★★★★★★★
★★★★★★★★
★★★★★★★★
★★★★★★★★
如上面图,用label生成长为8 宽为4 的label矩阵,请问有实现的代码吗?? 展开
★★★★★★★★
★★★★★★★★
★★★★★★★★
★★★★★★★★
如上面图,用label生成长为8 宽为4 的label矩阵,请问有实现的代码吗?? 展开
2个回答
展开全部
'窗体上先加一label控件,其index属性设置为0,Caption属性设置成★
Private Sub AddLabel(ByVal N As Integer, ByVal Cols As Integer)
For i = 1 To N '一共12个
Load Label1(i) '增加控件
Label1(i).Visible = True '
If i Mod Cols = 0 Then '4列,超过就换行
Label1(i).Top = Label1(i - 1).Top + 300 '换行后的高度
Label1(i).Left = Label1(0).Left '换行后第一的左边位置与第一个对齐
Else '没换行那些
Label1(i).Left = Label1(i - 1).Left + Label1(i - 1).Width + 300 '
Label1(i).Top = Label1(i - 1).Top '
End If
Label1(i) = "★" '赋值
Next i
End Sub
Private Sub Form_Load()
AddLabel 31, 8
End Sub
Private Sub AddLabel(ByVal N As Integer, ByVal Cols As Integer)
For i = 1 To N '一共12个
Load Label1(i) '增加控件
Label1(i).Visible = True '
If i Mod Cols = 0 Then '4列,超过就换行
Label1(i).Top = Label1(i - 1).Top + 300 '换行后的高度
Label1(i).Left = Label1(0).Left '换行后第一的左边位置与第一个对齐
Else '没换行那些
Label1(i).Left = Label1(i - 1).Left + Label1(i - 1).Width + 300 '
Label1(i).Top = Label1(i - 1).Top '
End If
Label1(i) = "★" '赋值
Next i
End Sub
Private Sub Form_Load()
AddLabel 31, 8
End Sub
追问
谢谢了,代码我已经试过了,达到了我的目的了,但是请给我解释一下Clos 的意思吧,我是新手,很多东西不懂。还有,在load里面可以自定义label的宽吗?因为这样还要算出生成矩阵的总数-1个,有办法吗??
追答
Clos是列数
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询