Solved

Maximized center screen Form1 after being minimized

Posted on 2011-09-22
9
369 Views
Last Modified: 2012-05-12
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
Comment
Question by:Wilder1626
  • 3
  • 3
  • 2
  • +1
9 Comments
 
LVL 17

Expert Comment

by:nepaluz
ID: 36582808
Simply set the start position property of the form to CentreScreen
0
 
LVL 40

Accepted Solution

by:
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

by:Mike Tomlinson
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
Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

 
LVL 11

Author Comment

by:Wilder1626
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

Open in new window


0
 
LVL 11

Author Closing Comment

by:Wilder1626
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

by:Mike Tomlinson
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

by:Wilder1626
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

by:Mike Tomlinson
ID: 36582981
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
 
LVL 40
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

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Parsing a CSV file is a task that we are confronted with regularly, and although there are a vast number of means to do this, as a newbie, the field can be confusing and the tools can seem complex. A simple solution to parsing a customized CSV fi…
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question