Denis Mazourick
Denis Mazourick

Reputation: 1455

WinForms - wrong form size

We have the following code:

    private void MainForm_Shown(object sender, EventArgs e)
    {
        RepositionForm();
    }

    private void RepositionForm()
    {
        Rectangle rect = Screen.PrimaryScreen.WorkingArea;
        this.Width = 100;
        this.Height = 117;
        this.TopMost = true;
        this.Left = rect.Width - this.Width - 1;
        this.Top = rect.Height - this.Height - 1;
    }

When we launch the app from Visual Studio - the form is shown of correct size: 100x117. However, when we launch the project by launching EXE file, the form size is 106x127.

The MinimumSize, MaximumSize and Size properties are set to 100x117.
WindowsState = Minimized
ShowIcon = False
ShowInTaskbar = False
Topmost = True
MinimizeBox - False
MaximizeBox = False
FormBorderSize = FixedDialog
ControlBox = True

How can that happen that there's even a difference between how the app is launched?

Thanks

Upvotes: 7

Views: 4612

Answers (1)

Meirion Hughes
Meirion Hughes

Reputation: 26398

I'm going to hazard a guess that the problem is with the windows theme and/or the Desktop Window Manager not being deterministic for your OS version.

Try setting your Windows Theme to basic (Desktop->Personalise), then rerun you test. If you get different results, you know its down to Windows and not your code.

Also you you may want to check out the non-client area of the windows frame and see if that changes from OS/theme.

Upvotes: 1

Related Questions