首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

怎么在程序中限制某个属性的范围比如:Location,点进内涵更非富

2012-12-16 
如何在程序中限制某个属性的范围比如:Location,点进内涵更非富本帖最后由 zzc6913 于 2012-11-18 01:43:00

如何在程序中限制某个属性的范围比如:Location,点进内涵更非富
本帖最后由 zzc6913 于 2012-11-18 01:43:00 编辑 编写了一个lable控件的拖动程序,发现有一个bug就是控件可以被拖动到窗体以外的地方,不知如何解决,暂时思路希望能够限制lable.Location的X和Y的值的范围来限制控件的可移动范围,不知道思路对不对。
下面贴上程序,如果还有老师有更好的解决办法,欢迎指导~~


    Dim ss As Boolean
    Dim mov As Point
    Private Sub Label1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label1.MouseDown
        ss = True
        mov = New Point(e.X, e.Y)  
    End Sub


    Private Sub Label1_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label1.MouseUp
        ss = False
    End Sub
  
    Private Sub Label1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label1.MouseMove
        If ss = True Then
            Dim a, b As Integer
            a = mov.X - e.X
            b = mov.Y - e.Y
            Me.Label1.Location = New Point(Me.Label1.Location.X - a, Me.Label1.Location.Y - b)
                    ElseIf ss = False Then
            Me.Label1.Location = New Point(Me.Label1.Location.X, Me.Label1.Location.Y)          
        End If
    End Sub

    Private Sub Label1_Move(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Move
        If Me.Label1.Location.X <= 0 Then
            Dim a, b As Integer
            a = mov.X - Me.Label1.Location.X    
              b = mov.Y - Me.Label1.Location.Y
            Me.Label1.Location = New Point(0, Me.Label1.Location.Y - b)

        End If
    End Sub

[最优解释]
你不是已经判断其 X 坐标是否 <=0 了么?

看懂自己的代码先。
[其他解释]
引用:
编写了一个lable控件的拖动程序,发现有一个bug就是控件可以被拖动到窗体以外的地方,不知如何解决,暂时思路希望能够限制lable.Location的X和Y的值的范围来限制控件的可移动范围,不知道思路对不对。
以测试为准。csdn上任何回复,都比不上你自己动手测试。
------其他解决方案--------------------


思路有,不会写。怎么限制这个范围。
[其他解释]
这个判断不好使,测试了一下,如果到了边界还往外拖,会出现花屏现像类似于延时造成的重影~~
[其他解释]
另外这个是判断,我思想本是希望直接限制location的最大和最小值。不过貌似这个思路也不对~~
[其他解释]
该回复于2012-11-18 12:34:09被管理员删除

热点排行