• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

GnGs

Mover Form SemBorda

3 mensagens neste tópico

#Region " ClientAreaMove Handling "
    Const WM_NCHITTEST As Integer = &H84
    Const HTCLIENT As Integer = &H1
    Const HTCAPTION As Integer = &H2
    Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
    Select Case m.Msg
    Case WM_NCHITTEST
    MyBase.WndProc(m)
    If m.Result = HTCLIENT Then m.Result = HTCAPTION
    'If m.Result.ToInt32 = HTCLIENT Then m.Result = IntPtr.op_Explicit(HTCAPTION) 'Try this in VS.NET 2002/2003 if the latter line of code doesn't do it... thx to Suhas for the tip.
    Case Else
    'Make sure you pass unhandled messages back to the default message handler.
    MyBase.WndProc(m)
    End Select
    End Sub
    #End Region

Resolvido

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mais fácil ainda

Public Class Form1
    Private XI As Integer
    Private YI As Integer

    Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
        XI = e.X
        YI = e.Y
    End Sub

    Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
        If e.Button = Windows.Forms.MouseButtons.Left Then
            Me.Top = MousePosition.Y - YI
            Me.Left = MousePosition.X - XI
        End If
    End Sub
End Class

Marca como resolvido como deve de ser.

Não é à toa que mais ninguém tem tag "[resolvido]".

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora