создание независимой от разрешения winform, установите разрешение для C # winform, получите разрешение экрана, на котором работает winform - PullRequest
3 голосов
/ 23 апреля 2011

Я подал заявку на разрешение 1366x768, которое является текущим разрешением моего ноутбука, будучи новичком, меня не волнуют проблемы с разрешением.

Когда я взял это приложение и выполнил его на ПК с более низким разрешением, все было испорчено. Форма собиралась куда-то еще, большая часть ее скрыта.

Итак, пожалуйста, помогите мне, как сделать мое разрешение winform независимым или как получить текущее разрешение экрана и установить его в моей winform, чтобы оно изменилось соответственно.

Ответы [ 2 ]

4 голосов
/ 23 апреля 2011

Свойство

Screen.PrimaryScreen.WorkingArea

очень полезно для определения размера и позиционирования формы.Например, этот код:

        this.Width = Screen.PrimaryScreen.WorkingArea.Width/2;
        this.Height = Screen.PrimaryScreen.WorkingArea.Height/2;
        this.Top = (Screen.PrimaryScreen.WorkingArea.Top + Screen.PrimaryScreen.WorkingArea.Height)/4;
        this.Left = (Screen.PrimaryScreen.WorkingArea.Left + Screen.PrimaryScreen.WorkingArea.Width)/4;

(класс Screen является членом пространства имен System.Windows.Forms)

поместит форму, в которой он выполняется, в центр экрана.и уменьшите его до половины экрана.

Var WorkingArea используется для исключения таких вещей, как панель задач и другие закрепленные элементы на рабочем столе, при расчете размера экрана.

Надеюсь, это поможет.

3 голосов
/ 23 апреля 2011

См. Здесь: http://social.msdn.microsoft.com/forums/en-US/vbgeneral/thread/1be40692-80fa-42ba-b316-9fe13a935b4f/ и здесь: http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/d5f2cd8d-d24d-4574-ba3a-96e22e3d1b56/

Общий подход - начать с минимального разрешения, с которым вы будете работать.Затем вы можете масштабировать свои формы (используя правильную стыковку и якоря).

...