VB.Net - Mover uma forma ou PictureBox com o mouse

Julho 2016



O título já diz tudo.
  • Abrir um novo projeto.
  • Colar uma PictureBox.

O código,


Public Class Form1 
    Private Const WM_NCLBUTTONDOWN = &HA1 
    Private Const HTCAPTION = 2 

    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _ 
                 (ByVal hwnd As Integer, ByVal wMsg As Integer, _ 
                  ByVal wParam As Integer, ByVal lParam As String) As Integer 
    Private Declare Sub ReleaseCapture Lib "user32" () 

'Deslocamento da PictureBox 
    Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove 
        Dim lHwnd As Int32 
        lHwnd = PictureBox1.Handle 
        If lHwnd = 0 Then Exit Sub 
        ReleaseCapture() 
        SendMessage(lHwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&) 
    End Sub 

'Deslocamento da forma 
    Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove 
        Dim lHwnd As Int32 
        lHwnd = Me.Handle 
        If lHwnd = 0 Then Exit Sub 
        ReleaseCapture() 
        SendMessage(lHwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&) 
    End Sub 

End Class

Clicar na pictureBox ou na forma e mover o mouse; mover o controle ou a forma.
Funciona com qualquer controle que tenha um Handle.

Tradução feita por Lucia Maurity y Nouira

Veja também :
Este documento, intitulado « VB.Net - Mover uma forma ou PictureBox com o mouse »a partir de CCM (br.ccm.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.