模块中动态添加控件并执行事情——陷入混乱中,请高人指点,高分求教,标题长,求点击

zzc0012 2012-11-20 11:28:05


Module Module1
Dim WithEvents Tb1 As New Label
Dim i As Integer
Public Sub creat1() '动态添加控件过程
Tb1.BorderStyle = BorderStyle.Fixed3D
Dim labelname As Boolean
labelname = printyl.ControlCollection.Equals(Tb1.Name, Tb1.Name)

If labelname = True Then
i = i + 1
Tb1.Location = New System.Drawing.Point(100 + i, 100 + i)
Tb1.Name = "ttss" + CStr(i)
Tb1.Text = "ttss" + CStr(i)
End If
Tb1.Size = New System.Drawing.Size(200, 100)
printyl.Controls.Add(Tb1)

End Sub
Dim ss As Boolean
Dim mov As Point
Private Sub Tb1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Tb1.MouseMove
If ss = True Then
Dim a, b As Integer
a = mov.X - e.X
b = mov.Y - e.Y
Tb1.Location = New Point(Tb1.Location.X - a, Tb1.Location.Y - b)

ElseIf ss = False Then
Tb1.Location = New Point(Tb1.Location.X, Tb1.Location.Y)
End If
End Sub
Private Sub Tb1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Tb1.MouseDown
ss = True
mov = New Point(e.X, e.Y)
End Sub
Private Sub Tb1_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Tb1.MouseUp
ss = False
End Sub



以上是在模块1中编写的代码,在form1中Button1_Click时用call creat1()执行调用。希望得到的结果是,在form1中点击button1后动态添加一个label,并执行下面的事件,事件得到的效果就是当label添加完成后,用鼠标点住label时,可以在控件内拖动,当松开鼠标时,label停在当前位置。
目前用以上代码,可以实现这个功能(但不是完全想要达到的效果)。

问题是,目前每点击一次button1,生成一个新的label,上一个label就消失了。我用for next 对label的name 进行了计数。希望的效果是每点一次button1 都会增加一个新的label,但上一次新增的label不消失(例:label1、label2、label3....),并且都可以执行下面的事情。
不知道是那个地方弄错了,实在不会写,麻烦指导~~

另外当把 Tb1 as New label 写在 Public Sub creat1() 里面时,可以得到上面label累积出现的效果(例:label1、label2、label3....),但是这样出现的所有label又都不能执行下面的事件,用了 AddHandler XX.MouseMove, AddressOf XX_MouseMove 这个也不行,不知道是不是没用对。

总之现在的效果就是两者只能实现一种,要么累积出现label,但都不能执行事件,要么出一个新label,上一个消失,但可以执行事件
郁闷快哭了~~~
...全文
78 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzc6913 2012-11-20
  • 打赏
  • 举报
回复
顶顶~~~

1,451

社区成员

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

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