Solved

# Maximized center screen Form1 after being minimized

Posted on 2011-09-22
367 Views
Hello all

I would like to maximized in center screen a form that was only minimized.

When minimized:
``````  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form2.Show()
Me.WindowState = FormWindowState.Minimized
End Sub
``````

To maximize:

``````  Private Sub QuitterToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles QuitterToolStripMenuItem.Click
Me.Close()
Dim f As New Form1
f.WindowState = FormWindowState.Maximized
Dim boundWidth As Integer = Screen.PrimaryScreen.Bounds.Width
Dim boundHeight As Integer = Screen.PrimaryScreen.Bounds.Height
Dim x As Integer = boundWidth - f.Width
Dim y As Integer = boundHeight - f.Height
f.Location = New Point(x / 2, y / 2)
f.Show()
End Sub
``````

I have tried this but i can make it work.

But there is no issue. It just open in the top left corner of the screen.

0
Question by:Wilder1626
• 3
• 3
• 2
• +1

LVL 17

Expert Comment

ID: 36582808
Simply set the start position property of the form to CentreScreen
0

LVL 40

Accepted Solution

Jacques Bourgeois (James Burger) earned 500 total points
ID: 36582844
A form that is Maximized takes up all the screen.

What you want to do is probably

f.WindowState = FormWindowState.Normal
0

LVL 85

Expert Comment

ID: 36582849
Why bother with the bounds and the Location?

...just set it to Maximize and then let it do its thing:

Dim f As New Form1
f.WindowState = FormWindowState.Maximized
f.Show()

0

LVL 11

Author Comment

ID: 36582853
Hello nepaluz

The start position was already at CenterScreen.

When i open it for the first time, it is always in center screen.

It's only when i minimize it with the code, then when i maximize it, it goes in top corner.

I also tried this but same result:
``````    Private Sub QuitterToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles QuitterToolStripMenuItem.Click
Me.Close()
Dim f As New Form1
f.Left = (Screen.PrimaryScreen.Bounds.Width \ 2) - (f.Width \ 2)
f.Top = (Screen.PrimaryScreen.Bounds.Height \ 2) - (f.Height \ 2)

f.StartPosition = FormStartPosition.CenterScreen
f.WindowState = FormWindowState.Maximized
f.Show()
End Sub
``````

0

LVL 11

Author Closing Comment

ID: 36582865
Hello all

This is perfect.

It's working great now.

Thanks

Private Sub QuitterToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles QuitterToolStripMenuItem.Click
Me.Close()
Dim f As New Form1
f.Left = (Screen.PrimaryScreen.Bounds.Width \ 2) - (f.Width \ 2)
f.Top = (Screen.PrimaryScreen.Bounds.Height \ 2) - (f.Height \ 2)

f.StartPosition = FormStartPosition.CenterScreen
f.WindowState = FormWindowState.Normal
f.Show()
End Sub
0

LVL 85

Expert Comment

ID: 36582868
"It's only when i minimize it with the code, then when i maximize it, it goes in top corner."

The instance of Form1 that you minimized is NOT the same instance that you are dealing with in QuitterToolStripMenuItem_Click().

Do you want the original instance to un-minimize when Form2 is closed?
0

LVL 11

Author Comment

ID: 36582942
Hello Idle_Mind

Yes it should be the original form that should unminimized.

hummmm, how do i get this topic to re open?????
0

LVL 85

Expert Comment

ID: 36582981

What I recommend you do is actually create an instance of Form2 and subscribe to its FormClosed() event:
``````Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.WindowState = FormWindowState.Minimized
Dim f2 As New Form2
f2.Show()
End Sub

Private Sub f2_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs)
Me.WindowState = FormWindowState.Maximized
End Sub

End Class
``````

Now, in your Form2 QuitterToolStripMenuItem_Click() method, all you need to do is make it close itself:
``````Private Sub QuitterToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles QuitterToolStripMenuItem.Click
Me.Close()
End Sub
``````
0

LVL 40

Expert Comment

ID: 36582985
Maximized is always in the top corner, because it covers all the screen. Do not mix Maximized and Normal, they mean 2 different things. As soon as a form does not cover all the screen, it is not Maximized.
0

## Featured Post

### Suggested Solutions

This article explains how to create and use a custom WaterMark textbox class.  The custom WaterMark textbox class allows you to set the WaterMark Background Color and WaterMark text at design time.   IMAGE OF WATERMARKS STEPS Create VB …
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…