Thomas
Thomas

Reputation: 1126

Positioning of Windows Form Application

How do I code the start location of my winform app such that it always starts in the bottom right hand corner of the screen. As using x and y coordinate only affects one particular screen resolution, on a smaller or larger screen the winform would not appear in the desired location.

Thanks!

Upvotes: 0

Views: 106

Answers (2)

Hans Passant
Hans Passant

Reputation: 941218

You have to do this in the OnLoad() method/event, one of the few real reasons to use it. The form's actual size won't be the designed size because the user might have changed preferences like the window caption height or the form might be rescaled due to a different video DPI setting. This is all sorted out when OnLoad() starts running.

Make it look like this:

    protected override void OnLoad(EventArgs e) {
        var scr = Screen.FromPoint(this.Location);
        this.Left = scr.WorkingArea.Right - this.Width;
        this.Top = scr.WorkingArea.Bottom - this.Height;
        base.OnLoad(e);
    }

Upvotes: 3

BizApps
BizApps

Reputation: 6130

Check this on MSDN:

Setting the Screen Location of Windows Forms

Regards

Upvotes: 0

Related Questions