DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Dicas .NET - Movendo um formulário sem barra de título

Veja nesta dica, como mover um formulário em uma aplicação Windows Forms, que não possua a barra de título.

Movendo um formulário sem barra de título

 

Criar um formulário sem barra de título é uma tarefa muito simples que se resume a setar a propriedade FormBorderStyle para None. Essa ação, no entanto, cria um problema já que não é mais possível mover o formulário pela via normal (clicando na barra de título e arrastando o formulário para a nova posição). Experimente testar, criando um formulário como o da imagem a seguir.

 

Para programar a capacidade de arrastar o formulário com o botão esquerdo do mouse, use o código a seguir:

 

Public Class Form1

 

    ' Declarações da API de Windows e de constantes relacionadas

    Private Const WM_SYSCOMMAND As Integer = &H112&

    Private Const MOUSE_MOVE As Integer = &HF012&

 

    "user32.DLL", EntryPoint:="ReleaseCapture")> _

    Private Shared Sub ReleaseCapture()

    End Sub

 

    "user32.DLL", EntryPoint:="SendMessage")> _

    Private Shared Sub SendMessage( _

            ByVal hWnd As System.IntPtr, ByVal wMsg As Integer, _

            ByVal wParam As Integer, ByVal lParam As Integer)

    End Sub

 

    Private Sub moverForm()

        ReleaseCapture()

        SendMessage(Me.Handle, WM_SYSCOMMAND, MOUSE_MOVE, 0)

    End Sub

 

    Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) _

    Handles MyBase.MouseMove, Label1.MouseMove, Label2.MouseMove, Label3.MouseMove, btnFechar.MouseMove

        If e.Button = MouseButtons.Left Then

            moverForm()

        End If

    End Sub

 

    Private Sub btnFechar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFechar.Click

        Me.Close()

    End Sub

End Class

 

Repare no trecho em negrito. É necessário tratamento para o evento MouseMove de todos os controles do formulário para que você possa arrastar o form quando estiver com o ponteiro sobre cada um desses controles. Note também que incluímos um botão Fechar no form para permitir encerrar o exemplo.

 

Cláudio Ralha (claudioralha@hotmail.com)





    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



Publicidade
Autor
Tipster .net

Dicas sobre .NET




Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
1   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03