vb.net2008关于控件动态拉伸的,附代码,有一个小异常,不知怎么解决~请赐教,高分
vb.net2008关于控件动态拉伸的求助,附代码,有一个小错误,不知如何解决~~请赐教,高分求助
这是动态拉伸控件的部分代码,主要是实现拉伸功能,现在有个小问题,如果向右拉伸,或向下拉伸,都没问题,如果是向左或向上拉,那么控件的右边界会有花屏现像。个人估计可能是代码执行时有点延时造成的,照上面代码执行,应该是控件先变长,再改变left的位置,不知个人分析的对不对。
不知道真正原因,更不知道如何解决,请赐教~~~
花屏如下图:
------最佳解决方案--------------------
Dim x As Integer = Me.Label1.Left
Dim y As Integer = Me.Label1.Top
Dim wx As Integer = Me.Label1.Width
Dim wy As Integer = Me.Label1.Height
If Oldtt.X >= 0 And Oldtt.X < 5 And Oldtt.Y >= 5 And Oldtt.Y < Me.Label1.Height - 10 And ss = True Then
x = Me.Label1.Left + dx
If e.Button = Windows.Forms.MouseButtons.Left Then
Select Case Adjust
Case mPosition.Left
If Oldtt.X >= 0 And Oldtt.X < 5 And Oldtt.Y >= 5 And Oldtt.Y < Me.Label1.Height - 10 Then
Me.Label1.Width = Me.Label1.Width - dx
Me.Label1.Left = Me.Label1.Left + dx
Me.Label1.Cursor = Cursors.SizeWE
End If
Case mPosition.Right
Oldtt.X = e.X
Me.Label1.Width = Me.Label1.Width + dx
Case mPosition.Top
Me.Label1.Top += dy
Me.Label1.Height -= dy
Case mPosition.Bottom
Oldtt.Y = e.Y
Me.Label1.Height += dy
End Select
End If
这是动态拉伸控件的部分代码,主要是实现拉伸功能,现在有个小问题,如果向右拉伸,或向下拉伸,都没问题,如果是向左或向上拉,那么控件的右边界会有花屏现像。个人估计可能是代码执行时有点延时造成的,照上面代码执行,应该是控件先变长,再改变left的位置,不知个人分析的对不对。
不知道真正原因,更不知道如何解决,请赐教~~~
花屏如下图:
------最佳解决方案--------------------
Dim x As Integer = Me.Label1.Left
Dim y As Integer = Me.Label1.Top
Dim wx As Integer = Me.Label1.Width
Dim wy As Integer = Me.Label1.Height
If Oldtt.X >= 0 And Oldtt.X < 5 And Oldtt.Y >= 5 And Oldtt.Y < Me.Label1.Height - 10 And ss = True Then
x = Me.Label1.Left + dx