[Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 377
  • Last Modified:

Maximized center screen Form1 after being minimized

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

Open in new window



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

Open in new window


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.

Thanks again for your help.
0
Wilder1626
Asked:
Wilder1626
  • 3
  • 3
  • 2
  • +1
1 Solution
 
nepaluzCommented:
Simply set the start position property of the form to CentreScreen
0
 
Jacques Bourgeois (James Burger)Commented:
A form that is Maximized takes up all the screen.

What you want to do is probably

f.WindowState = FormWindowState.Normal
0
 
Mike TomlinsonMiddle School Assistant TeacherCommented:
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
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
Wilder1626Author Commented:
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

Open in new window


0
 
Wilder1626Author Commented:
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
 
Mike TomlinsonMiddle School Assistant TeacherCommented:
"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
 
Wilder1626Author Commented:
Hello Idle_Mind

Yes it should be the original form that should unminimized.

hummmm, how do i get this topic to re open?????
0
 
Mike TomlinsonMiddle School Assistant TeacherCommented:
Don't worry about it.

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
        AddHandler f2.FormClosed, AddressOf f2_FormClosed
        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

Open in new window


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

Open in new window

0
 
Jacques Bourgeois (James Burger)Commented:
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

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

  • 3
  • 3
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now