kasowitz
asked on
Form resizing itself when using code to drag form around
Hi,
Using VB.NET 2005 and I have a form that I want to be able to drag around by clicking anywhere in the form window. I achieve this by using the below code that has been posted on this site several times. The problem is: after I add this code to a form any time I make changes in the code for the form and then switch back to the design view of that form the form is resizing itself to a smaller size. So if my form size is (453, 200) , after making some changes and going back into the design view the form will all of a sudden be (449, 196). This keeps happening over and over, the form keeps getting smaller ! So I am constantly having to change the size of the form back and move the controls around again to reposition them. Any idea why this is happening ? Is there a way to prevent this ? Any help would be greatly appreciated ! Thanks !
Code:
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.Messa ge)
Select Case m.Msg
Case WM_NCHITTEST
MyBase.WndProc(m)
If m.Result.ToInt32 = HTCLIENT Then m.Result = IntPtr.op_Explicit(HTCAPTI ON)
Case Else
MyBase.WndProc(m)
End Select
End Sub
Using VB.NET 2005 and I have a form that I want to be able to drag around by clicking anywhere in the form window. I achieve this by using the below code that has been posted on this site several times. The problem is: after I add this code to a form any time I make changes in the code for the form and then switch back to the design view of that form the form is resizing itself to a smaller size. So if my form size is (453, 200) , after making some changes and going back into the design view the form will all of a sudden be (449, 196). This keeps happening over and over, the form keeps getting smaller ! So I am constantly having to change the size of the form back and move the controls around again to reposition them. Any idea why this is happening ? Is there a way to prevent this ? Any help would be greatly appreciated ! Thanks !
Code:
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.Messa
Select Case m.Msg
Case WM_NCHITTEST
MyBase.WndProc(m)
If m.Result.ToInt32 = HTCLIENT Then m.Result = IntPtr.op_Explicit(HTCAPTI
Case Else
MyBase.WndProc(m)
End Select
End Sub
ASKER
The resizing is not happening when I execute the code. It is happening while I am still working on and designing the code/form.
So if you remove the code it doesnt resize in design? Is this a usercontrol?
ASKER
Actually, I just tried Removing the code out of my form, and it is still doing it. Why would my form be making itself smaller all the time? Its just a standard form with a couple of buttons on it. Any time I make a change to the code of the form, and switch back to the design view of the form, the form size is getting smaller. This makes no sense.
ASKER CERTIFIED SOLUTION
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
if not me.designmode then...