有个难题!!!!!!!!!!!!!!!!!!!!!!!!!!!!

vvbb 2003-03-24 12:36:27
有个函数:
Sub ShowMessage (Index As Interger)
Dim i As Interger
Select Case Index
Case 0
For i=0 to 5
MsgBox button0(i).Width
Next i
Case 1
For i=0 to 5
MsgBox button1(i).Width
Next i
Case 2
For i=0 to 5
MsgBox button2(i).Width
Next i
Case 3
For i=0 to 5
MsgBox button3(i).Width
Next i
End Sub
这样当然可以了,但是大家会发现其实每个Case中的语句的作用都是一样的,只是
buttonX不同而已(X代表0~3),这样好像太多废代码了,大家认为怎样用一个
for语句就可以代替上面的4个For语句呢?
...全文
56 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
用户 昵称 2003-03-24
  • 打赏
  • 举报
回复
command1就是控件数组,标号0-4。
northwolves 2003-03-24
  • 打赏
  • 举报
回复
Sub ShowMessage(Index As Interger)
Dim i As Interger
For i = 0 To 5
MsgBox Choose(Index + 1, button0(i).Width, button1(i).Width, button2(i).Width, button3(i).Width)
Next i
End Sub
用户 昵称 2003-03-24
  • 打赏
  • 举报
回复
Option Explicit

Private Sub setpos(a As Variant)
Dim i As Integer
For i = 0 To 4
a(i).Left = 500 * i
a(i).Top = 0
a(i).Width = 400
a(i).Height = 300
Next i
End Sub

Private Sub Command2_Click()
setpos Command1
End Sub

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧