![]() | |
![]() |
| | Thread Tools | Search this Thread | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
I am overriding WncProc to make sure my form's location stays within specified parameters. Basically, it has to stay at the top of the screen and not be off to either of the sides. All that works when the form is in its minimal size. However, when the form is maximized using the appropriate button the code that is supposed to set the location is ignored. When the form is switched back to the standard dimensions through the restore button the location setting works again. My debugging information shows that the code used to set the location is processed when the form is maximized, as it is when the form is not maximized. I do not get any error messages. Here is my code: Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message) Const WM_SIZE As Integer = &H5 Const WM_MOVE As Integer = &H3 Const SIZE_MINIMIZED As Integer = 1 Const SIZE_MAXIMIZED As Integer = 2 Const WM_EXITSIZEMOVE As Integer = 562 Const WM_SYSCOMMAND As Integer = 274 Try If m.Msg = WM_EXITSIZEMOVE Or m.Msg = WM_SYSCOMMAND Then Debug.WriteLine("msg" & " " & m.Msg & " " & m.WParam.ToString) If Me.Location.X + Me.Width System.Windows.Forms.Screen.PrimaryScreen.Bounds.W idth Then Debug.WriteLine("Too far right") Me.Location = New System.Drawing.Point(System.Windows.Forms.Screen.P rimaryScreen.Bounds.Width - Me.Width, 0) Debug.WriteLine(Me.Location.X & " " & Me.Location.Y) ElseIf Me.Location.X < 0 Then Debug.WriteLine("Too far left") Debug.WriteLine(Me.Location.X & " " & Me.Location.Y) Me.Location = New System.Drawing.Point(0, 0) Debug.WriteLine(Me.Location.X & " " & Me.Location.Y) Else Debug.WriteLine("Something else") Me.Location = New System.Drawing.Point(Me.Location.X, 0) Debug.WriteLine(Me.Location.X & " " & Me.Location.Y) End If End If MyBase.WndProc(m) Catch ex As System.ArgumentException MsgBox(ex.ToString) Catch ex As Exception MsgBox(ex.ToString) End Try End Sub |
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
| |