Moving Form Objects [Source]

Posts 1–7 of 7 · Page 1 of 1
Moving Form Objects [Source]
I found some of this code and edited to use easly.

Code:
'Using
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        MakeItMovable(Button1)
    End Sub
 
Source Code
Code:
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        MakeItMovable(Button1)
        MakeItMovable(TextBox1)
        MakeItMovable(ListBox1)
        MakeItMovable(Panel1)
        MakeItMovable(CheckBox1)
        MakeItMovable(ComboBox1)
        MakeItMovable(TrackBar1)
    End Sub

#Region " FormObjectMovement"

#Region " Const"
    Dim startx As Integer
    Dim starty As Integer
    Dim endy As Integer
    Dim endx As Integer
    Dim finalx As Integer
    Dim finaly As Integer
    Dim mdown As Boolean
    Dim valx As Boolean
    Dim valy As Boolean
#End Region

    Sub MakeItMovable(ByVal Obj As Button)

        AddHandler Obj.MouseDown, AddressOf MouseDownSub
        AddHandler Obj.MouseMove, AddressOf MouseMoveSub
        AddHandler Obj.MouseUp, AddressOf MouseUpSub

    End Sub
    Sub MakeItMovable(ByVal Obj As TextBox)

        AddHandler Obj.MouseDown, AddressOf MouseDownSub
        AddHandler Obj.MouseMove, AddressOf MouseMoveSub
        AddHandler Obj.MouseUp, AddressOf MouseUpSub

    End Sub
    Sub MakeItMovable(ByVal Obj As ListBox)

        AddHandler Obj.MouseDown, AddressOf MouseDownSub
        AddHandler Obj.MouseMove, AddressOf MouseMoveSub
        AddHandler Obj.MouseUp, AddressOf MouseUpSub

    End Sub
    Sub MakeItMovable(ByVal Obj As Panel)

        AddHandler Obj.MouseDown, AddressOf MouseDownSub
        AddHandler Obj.MouseMove, AddressOf MouseMoveSub
        AddHandler Obj.MouseUp, AddressOf MouseUpSub

    End Sub
    Sub MakeItMovable(ByVal Obj As CheckBox)

        AddHandler Obj.MouseDown, AddressOf MouseDownSub
        AddHandler Obj.MouseMove, AddressOf MouseMoveSub
        AddHandler Obj.MouseUp, AddressOf MouseUpSub

    End Sub
    Sub MakeItMovable(ByVal Obj As ComboBox)

        AddHandler Obj.MouseDown, AddressOf MouseDownSub
        AddHandler Obj.MouseMove, AddressOf MouseMoveSub
        AddHandler Obj.MouseUp, AddressOf MouseUpSub

    End Sub
    Sub MakeItMovable(ByVal Obj As TrackBar)

        AddHandler Obj.MouseDown, AddressOf MouseDownSub
        AddHandler Obj.MouseMove, AddressOf MouseMoveSub
        AddHandler Obj.MouseUp, AddressOf MouseUpSub

    End Sub
    Private Sub MouseDownSub(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        startx = MousePosition.X
        starty = MousePosition.Y
        mdown = True
        valx = False
        valy = False
    End Sub
    Private Sub MouseMoveSub(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        'Check if mouse=down
        If mdown = True Then
            endx = (MousePosition.X - Me.Left)
            endy = (MousePosition.Y - Me.Top)

            If valy = False Then
                starty = endy - sender.top
                valy = True
            End If
            If valx = False Then
                startx = endx - sender.left
                valx = True
            End If
            sender.left = endx - startx
            sender.top = endy - starty

        End If
    End Sub
    Private Sub MouseUpSub(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        mdown = False
        valx = False
        valy = False
    End Sub

#End Region

End Class
Moving Objects Demo_mpgh.net.rar10 KB · 24 downloads 1/36 malicious
but why not just
(ByVal obj as Control) thus no need to create a bunch of overloads
Quote Originally Posted by Sazor98 View Post
but why not just
(ByVal obj as Control) thus no need to create a bunch of overloads
Yeah, thanks much more clean now.
 
Updated Code
Code:
 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim Items() As Control = {Button1, TextBox1, ListBox1, Panel1, CheckBox1, ComboBox1, TrackBar1}
        MakeItMovable(Items)
    End Sub
    Sub MakeItMovable(ByVal Obj() As Control)
        Dim x = 0

        Do Until x > Obj.Length - 1
            AddHandler Obj(x).MouseDown, AddressOf MouseDownSub
            AddHandler Obj(x).MouseMove, AddressOf MouseMoveSub
            AddHandler Obj(x).MouseUp, AddressOf MouseUpSub
            x += 1
        Loop

    End Sub
Thanks for the share i will be using this
Thanks for sharing.
Thanks man.
Posts 1–7 of 7 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

Talk with us