Jak umožnit přemisťování komponent na formuláři pomocí myši
Přidáno: 18.7.2007
Kategorie: VB.NET - Komponenty
Autor: Vratislav Renner
Kód je dost okomentovaný, tak více snad není potřeba.
Public Class Form1
Private btnKonecLoc As Point
Private mysiPosun As Point
Private Sub PictureBox_MouseDown(ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) _
Handles PictureBox1.MouseDown, PictureBox2.MouseDown
mysiPosun = New Point(-e.X - Me.Left, -e.Y - Me.Top - 30)
End Sub
Private Sub PictureBox_MouseMove(ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) _
Handles PictureBox1.MouseMove, PictureBox2.MouseMove
If e.Button = Windows.Forms.MouseButtons.Left Then
Dim pbox As PictureBox = sender
Dim mousePos As Point = Control.MousePosition
mousePos.Offset(mysiPosun.X, mysiPosun.Y)
pbox.Location = mousePos
End If
End Sub
Private Sub Command1_MouseDown(ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseDown
mysiPosun = New Point(-e.X - Me.Left, -e.Y - Me.Top - 30)
btnKonecLoc = Button1.Location
End Sub
Private Sub Command1_MouseMove(ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseMove
Dim btn As Button = sender
If e.Button = Windows.Forms.MouseButtons.Left Then
Dim mousePos As Point = Control.MousePosition
mousePos.Offset(mysiPosun.X, mysiPosun.Y)
btn.Location = mousePos
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
If btnKonecLoc = Button1.Location Then Me.Close()
End Sub
End Class