Click here to Skip to main content
Click here to Skip to main content

Tagged as

Dragging a Borderless Form

, 12 Jun 2010 CPOL
Rate this:
Please Sign up or sign in to vote.
A code snippet which makes a borderless form draggable.
I was looking through some old C# projects on my external hard drive, when I stumbled upon the following code snippet, which makes a borderless form draggable.
 
protected override void WndProc(ref Message m)
{
    if (m.Msg == 163 && this.ClientRectangle.Contains(this.PointToClient(new Point(m.LParam.ToInt32()))) && m.WParam.ToInt32() == 2)
        m.WParam = (IntPtr)1;
    base.WndProc(ref m);
    if (m.Msg == 132 && m.Result.ToInt32() == 1)
        m.Result = (IntPtr)2;
}
 
This makes the form draggable by clicking and dragging anywhere on the form itself (that is, not on controls unless they are disabled).

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Kristian Sixhoej
Student
Denmark Denmark

New biography coming sometime.
Green Alien | [Alien]


Comments and Discussions

 
QuestionContainers? PinmemberHiMik20031-Jun-10 0:08 
AnswerRe: Containers? PinmemberKristian Sixhoej1-Jun-10 0:12 
GeneralRe: Containers? PinmemberHiMik20031-Jun-10 0:32 
GeneralRe: Containers? PinmemberKristian Sixhoej1-Jun-10 0:37 
GeneralRe: Containers? PinmemberHiMik20031-Jun-10 0:44 
GeneralRe: Containers? PinmemberKristian Sixhoej1-Jun-10 0:59 
I found one.. Here you go:
 
int formStartX, formStartY, dragStartX, dragStartY;
 
private void progressBar1_MouseDown(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Left)
    {
        formStartX = this.Left;
        formStartY = this.Top;
        dragStartX = formStartX + e.X;
        dragStartY = formStartY + e.Y;
    }
}        
 
private void progressBar1_MouseMove(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Left)
    {
        this.Left = formStartX + ((this.Left + e.X) - dragStartX);
        this.Top = formStartY + ((this.Top + e.Y) - dragStartY);
    }
}
 
Hope you'll find it useful Smile | :)
Green Alien | [Alien] Kristian Sixhoej
I have noticed even people who claim everything is predestined,
and that we can do nothing to change it, look before they cross the road.
- Stephen Hawking

GeneralRe: Containers? PinmemberHiMik20031-Jun-10 1:39 
AnswerRe: Containers? PinmemberKPEBEDKO13-Jul-10 4:27 
GeneralRe: Containers? PinmemberHiMik200315-Jul-10 4:40 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.141220.1 | Last Updated 12 Jun 2010
Article Copyright 2010 by Kristian Sixhoej
Everything else Copyright © CodeProject, 1999-2014
Layout: fixed | fluid