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

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.

Nosso conteúdo é produzido em colaboração com especialistas em tecnologia da informação sob o comando de Jean-François Pillou, fundador do CCM.net. CCM é um site sobre tecnologia líder em nível internacional e está disponível em 11 idiomas.
Este documento, intitulado 'VB.Net - Mover uma forma ou PictureBox com o mouse', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.

Assine nossa newsletter!

Assine nossa newsletter!
Junte-se à comunidade