Solved

Maximized center screen Form1 after being minimized

Posted on 2011-09-22
9
368 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
 
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
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

Introduction As chip makers focus on adding processor cores over increasing clock speed, developers need to utilize the features of modern CPUs.  One of the ways we can do this is by implementing parallel algorithms in our software.   One recent…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.

864 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

Need Help in Real-Time?

Connect with top rated Experts

24 Experts available now in Live!

Get 1:1 Help Now