求VB 动态填加/删除控件源码

要求:每单击一下Command1,就会在Picture1上动态添加一个PictureBox。每次填加,两个PictureBox之间横向距离加50,纵向不变。在单击其中任何... 要求:
每单击一下Command1,就会在Picture1上动态添加一个PictureBox。
每次填加,两个PictureBox之间横向距离加50,纵向不变。
在单击其中任何一个PictureBox后,被选择的PictureBox就会被动态删除。
这个时候所有PictureBox从新排序列,保持横向距离加50,纵向不变。
望高手给出源代码,并且写明注解。
展开
 我来答
百度网友6e4b388b5
2007-07-29 · TA获得超过471个赞
知道小有建树答主
回答量:346
采纳率:0%
帮助的人:0
展开全部
在窗体中添加一个command1,一个picture1
然后在picture1上添加picture2,将其index属性改为0,即为picture2(0),再将其visible属性改为false
窗体上添加代码:
Dim nn As Integer
Private Sub Command1_Click()
If nn = 0 Then
Picture2(nn).Visible = True '将第一个picture2(0)显示
Else
Load Picture2(nn) '加载picture2控件
Picture2(nn).Visible = True '将其可见
Picture2(nn).Left = Picture2(nn - 1).Left + Picture2(nn - 1).Width + 50 '加载的新控件距前一个距离为50
End If
nn = nn + 1
End Sub
Private Sub Picture2_Click(Index As Integer)
Unload Picture2(Index)
For i = Index + 1 To nn - 1
Picture2(i).Left = Picture2(i).Left - 50 - Picture2(i).Width
Next
End Sub
Private Sub Form_Load()
nn = 0
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miniappA13o8pWx0iBrT
2007-07-29 · TA获得超过219个赞
知道小有建树答主
回答量:235
采纳率:0%
帮助的人:212万
展开全部
'窗体上添加一个Picture控件,Name属性设为pic,Index属性设为0

'初始化Picture
Private Sub Form_Load()

pic(0).Left = -pic(0).Width

AddPic
MovePic 1, 0

End Sub

'添加按钮
Private Sub Command1_Click()
Dim i As Integer
For i = pic.UBound To 1 Step -1

If pic(i).Visible = True Then

Exit For

End If

Next

AddPic

MovePic pic.UBound, i

End Sub

'删除Picture
Private Sub pic_Click(Index As Integer)

If Index <> 0 Then pic(Index).Visible = False

SortPic

End Sub

'添加Picture
Sub AddPic()

Load pic(pic.UBound + 1)
pic(pic.UBound).Visible = True
'pic(pic.UBound).Print pic.UBound '显示index值,需要把pic的AutoRedraw设为True

End Sub

'移动Picture
Sub MovePic(ByVal ParIndex As Integer, ByVal ParPrevIndex As Integer)

pic(ParIndex).Left = pic(ParPrevIndex).Left + pic(ParPrevIndex).Width + 50

pic(ParIndex).Top = pic(ParPrevIndex).Top

End Sub

'排序Picture
Sub SortPic()
Dim i As Integer
Dim j As Integer

For i = 1 To pic.UBound

If pic(i).Visible = True Then

MovePic i, j

j = i

End If

Next

End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
moonf
2007-07-29 · TA获得超过5837个赞
知道大有可为答主
回答量:2246
采纳率:66%
帮助的人:761万
展开全部
控件数组就可以啊
教科书上去看嘛
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bornnow
2007-07-29 · TA获得超过224个赞
知道小有建树答主
回答量:621
采纳率:0%
帮助的人:501万
展开全部
这是没有问题的你要建的不是一个pitcturebox在picture而是一个picturebox的控件组。这样你就方便做了。控件组的名称是一样的用他们的index来区加他们。你试试就知道了。你要不把资源发过来我给你做。哈哈
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式