Есть ли способ заполнить форму на x% экрана? - PullRequest
2 голосов
/ 29 января 2012

Интересно, есть ли способ, вместо использования пикселей, настроить размер формы в C #?Например, заставить Form1 заполнить 75% экрана по ширине и 80% экрана по высоте?Я немного поэкспериментировал с чтением разрешения экрана «Пользователи» и затем отрегулировал его, но я ищу другой подход.Я хочу сделать это, чтобы решить проблему с другим разрешением экрана, поэтому мне не нужно использовать полосы прокрутки.Есть ли способ сделать это или я должен просто сохранить свои свитки?

Ответы [ 2 ]

2 голосов
/ 29 января 2012

Вы захотите использовать событие Load, чтобы на вас не влияло автоматическое масштабирование формы.Как это:

    protected override void OnLoad(EventArgs e) {
        var scr = Screen.FromPoint(this.Location);
        this.Size = new Size((int)(scr.WorkingArea.Width * 0.75),
                             (int)(scr.WorkingArea.Height * 0.80));
        this.Location = new Point((scr.WorkingArea.Width - this.Width) / 2,
                                  (scr.WorkingArea.Height - this.Height) / 2);
        base.OnLoad(e);
    }
1 голос
/ 29 января 2012

Вы можете получить разрешение экрана, используя:

Rectangle rect = Screen.AllScreens[0].Bounds;
//Maybe you need to use WorkingArea instead of Bounds.

Оттуда вы можете использовать 80% того, что вы хотите.Больше информации здесь: http://msdn.microsoft.com/en-us/library/system.windows.forms.screen.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...