Question: I have Form3 with this code:

```
    protected override void OnLoad(EventArgs e)
    {
        PlaceLowerRight();
        base.OnLoad(e);
    }

    private void PlaceLowerRight()
    {
        //Determine "rightmost" screen
        Screen rightmost = Screen.AllScreens[0];
        foreach (Screen screen in Screen.AllScreens)
        {
            if (screen.WorkingArea.Right > rightmost.WorkingArea.Right)
                rightmost = screen;
        }

        this.Left = rightmost.WorkingArea.Right - this.Width;
        this.Top = rightmost.WorkingArea.Bottom - this.Height;
    }

```

This puts my Form3 at the bottom-right like

[![Esempio](https://i.stack.imgur.com/jzyu6.png)](https://i.stack.imgur.com/jzyu6.png)

I want it to the top center of my screen. It can be adapted my code or not? If not, can you provide me an easy solution?

Thank you!

Answer: 
Simple. [`Screen.WorkingArea`](https://msdn.microsoft.com/en-us/library/system.windows.forms.screen.workingarea.aspx) gives you a rectangle that describes the entire [virtual screen](https://msdn.microsoft.com/en-us/library/dd145136.aspx). And finding the center of a rectangle is a simple mathematical operation.

Therefore:

```
private void PlaceInTopCenter()
{
    Rectangle rcScreen = Screen.WorkingArea;
    Rectangle rcForm   = new Rectangle(this.Width, this.Height);
    this.Position = new Point((rcScreen.Left + rcScreen.Right) / 2 - (rcForm.Width / 2), 0);
}

```

Note that this will place the form smack-dab in the top center of the virtual screen. This may not be exactly what you want. If the user has multiple monitors, the form will likely end up straddling two different monitors. To solve that problem, you need to more precisely define where you want the form to be displayed. You might decide that you want it to be centered on the primary screen (the one the user has designed as "primary"), or you might decide that you want it centered on the screen that it is currently being displayed on (or at least, the screen that currently contains *most* of its area). For the former, you would use `Screen.PrimaryScreen.WorkingArea`. For the latter, you would use `Screen.FromControl(this).WorkingArea`.
Or you can just change the `StartPosition` property in the designer to `CenterScreen`.

```
this.StartPosition = FormStartPosition.CenterScreen;
this.Top = 0;

```