Click here to Skip to main content
12,252,552 members (62,392 online)
Click here to Skip to main content
Add your own
alternative version

Stats

262.4K views
5K downloads
81 bookmarked
Posted

Move window/form without Titlebar in C#

, 26 Jul 2005 GPL3
Rate this:
Please Sign up or sign in to vote.
How to move a form without having a Titlebar in C#.

Introduction

This is my first article and I hope my English is OK. Have you ever wanted to move a window without a Titlebar in C#? Well, then you're right here.

Let's start

First you have to add the following code in the header of your project. This is needed to load the required DLL's to our project. According to MSDN ReleaseCapture: removes mouse capture from the object in the current document and SendMessage: sends the specified message to a window or windows. It calls the window procedure for the specified window and does not return until the window procedure has processed the message.

using System.Runtime.InteropServices;

If you've done this, you can add the const and the DLL functions:

public const int WM_NCLBUTTONDOWN = 0xA1;
public const int HT_CAPTION = 0x2;

[DllImportAttribute("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, 
                 int Msg, int wParam, int lParam);
[DllImportAttribute("user32.dll")]
public static extern bool ReleaseCapture();

Then put the following two lines of code in the form's MouseDown event like this:

private void Form1_MouseDown(object sender, 
        System.Windows.Forms.MouseEventArgs e)
{     
    if (e.Button == MouseButtons.Left)
    {
        ReleaseCapture();
        SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
    }
}

Believe it or not - you've done it! Now run the App and try to move the form by clicking on the form and moving the mouse (you have to hold the button pressed!)

Hope you find it useful. Enjoy!

Thanks to Patric_J and John Wood for their replies! The code has been updated!

License

This article, along with any associated source code and files, is licensed under The GNU General Public License (GPLv3)

Share

About the Author

FreewareFire
Germany Germany
Born on August 6th 1982 in Neuss (NRW in Germany). Currently i'm 22 years old guy and my Hobby's are programming, bicycle and swim.

You may also be interested in...

Comments and Discussions

 
GeneralRe: Right Mouse Button Pin
LimitedAtonement19-Nov-11 14:11
memberLimitedAtonement19-Nov-11 14:11 
GeneralGreat Pin
MrKhal28-Nov-09 2:36
memberMrKhal28-Nov-09 2:36 
Generalgreat but Pin
Antoun Gorgy28-Nov-09 0:08
memberAntoun Gorgy28-Nov-09 0:08 
NewsReviews [modified] Pin
GoS-ExiGo5-Aug-09 4:25
memberGoS-ExiGo5-Aug-09 4:25 
Questionthank's for you greate article ! Pin
RNematjon30-Jul-09 1:00
memberRNematjon30-Jul-09 1:00 
Generalthanks champ Pin
Jethro874-Jun-09 8:35
memberJethro874-Jun-09 8:35 
GeneralGreat! Pin
emboole4-Jun-09 3:03
memberemboole4-Jun-09 3:03 
GeneralVery thank you. Pin
V# Guy2-Jun-09 17:07
memberV# Guy2-Jun-09 17:07 
GeneralThanks!!! Pin
RazorHaven20-May-09 7:31
memberRazorHaven20-May-09 7:31 
GeneralThanks much Pin
kennygmaina4-Feb-09 23:03
memberkennygmaina4-Feb-09 23:03 
GeneralBaaaaaaam! Pin
idrivefastlane19-Jan-09 22:08
memberidrivefastlane19-Jan-09 22:08 
Generalmove to next form Pin
kanza azhar4-Jun-08 11:58
memberkanza azhar4-Jun-08 11:58 
GeneralRe: move to next form Pin
kanza azhar4-Jun-08 12:02
memberkanza azhar4-Jun-08 12:02 
GeneralSmart code, thanks! Pin
Member 183173730-Mar-08 7:29
memberMember 183173730-Mar-08 7:29 
GeneralGr8 Pin
vachan18-Sep-07 23:14
membervachan18-Sep-07 23:14 
GeneralNot in mouse down event Pin
AlexanderBraun5-Jan-06 4:20
memberAlexanderBraun5-Jan-06 4:20 
AnswerRe: Not in mouse down event Pin
FreewareFire8-Jan-06 11:33
memberFreewareFire8-Jan-06 11:33 
QuestionRe: Not in mouse down event Pin
AJafer6-Sep-07 2:19
memberAJafer6-Sep-07 2:19 
QuestionRe: Not in mouse down event Pin
jury_mart19-May-08 23:01
memberjury_mart19-May-08 23:01 
QuestionRe: Not in mouse down event Pin
craigk8-Apr-09 8:12
membercraigk8-Apr-09 8:12 
GeneralRe: Not in mouse down event Pin
Nitesh Luharuka9-Jan-14 4:12
memberNitesh Luharuka9-Jan-14 4:12 
Generalmove other window Pin
Kaczy19-Dec-05 12:38
memberKaczy19-Dec-05 12:38 
AnswerRe: move other window Pin
FreewareFire8-Jan-06 11:32
memberFreewareFire8-Jan-06 11:32 
GeneralAnother method & Extending the article Pin
JockerSoft3-Aug-05 21:10
memberJockerSoft3-Aug-05 21:10 
GeneralRe: Another method & Extending the article Pin
FreewareFire7-Sep-05 2:59
memberFreewareFire7-Sep-05 2:59 
GeneralRe: Another method & Extending the article Pin
JockerSoft7-Sep-05 20:48
memberJockerSoft7-Sep-05 20:48 
GeneralRe: Another method & Extending the article Pin
ddboarm18-Dec-09 4:47
memberddboarm18-Dec-09 4:47 
GeneralOther option for dragging/resizing Pin
Richard Brunet3-Aug-05 3:51
memberRichard Brunet3-Aug-05 3:51 
GeneralRe: Other option for dragging/resizing. Oops! Pin
Richard Brunet3-Aug-05 3:54
memberRichard Brunet3-Aug-05 3:54 
GeneralResizing form with no frame Pin
phervers26-Jul-05 21:47
memberphervers26-Jul-05 21:47 
GeneralRe: Resizing form with no frame Pin
FreewareFire27-Jul-05 0:38
memberFreewareFire27-Jul-05 0:38 
GeneralRe: Resizing form with no frame Pin
axelriet27-Jul-05 2:54
memberaxelriet27-Jul-05 2:54 
GeneralStarting Pin
sreejith ss nair26-Jul-05 18:00
membersreejith ss nair26-Jul-05 18:00 
GeneralRe: Starting Pin
FreewareFire27-Jul-05 0:19
memberFreewareFire27-Jul-05 0:19 
QuestionA better way? Pin
axelriet26-Jul-05 16:40
memberaxelriet26-Jul-05 16:40 
AnswerRe: A better way? Pin
FreewareFire27-Jul-05 0:16
memberFreewareFire27-Jul-05 0:16 
AnswerRe: A better way? Pin
Tim McCurdy6-Sep-05 17:31
memberTim McCurdy6-Sep-05 17:31 
GeneralRe: A better way? Pin
Robertica18-Feb-07 22:51
memberRobertica18-Feb-07 22:51 
QuestionRe: A better way? Pin
DEGT18-Jun-07 3:18
memberDEGT18-Jun-07 3:18 
GeneralJust a warning if your form has a context menu Pin
Patric_J26-Jul-05 10:34
memberPatric_J26-Jul-05 10:34 
GeneralRe: Just a warning if your form has a context menu Pin
FreewareFire26-Jul-05 11:16
memberFreewareFire26-Jul-05 11:16 
GeneralGood Pin
John Wood26-Jul-05 10:05
memberJohn Wood26-Jul-05 10:05 
GeneralRe: Good Pin
FreewareFire26-Jul-05 11:17
memberFreewareFire26-Jul-05 11:17 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    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
Web02 | 2.8.160426.1 | Last Updated 26 Jul 2005
Article Copyright 2005 by FreewareFire
Everything else Copyright © CodeProject, 1999-2016
Layout: fixed | fluid