Как получить размеры формы c
С помощью специального окна Properties (Свойства) справа Visual Studio предоставляет нам удобный интерфейс для управления свойствами элемента:

Большинство этих свойств оказывает влияние на визуальное отображение формы. Пробежимся по основным свойствам:
Name : устанавливает имя формы — точнее имя класса, который наследуется от класса Form
BackColor : указывает на фоновый цвет формы. Щелкнув на это свойство, мы сможем выбрать тот цвет, который нам подходит из списка предложенных цветов или цветовой палитры
BackgroundImage : указывает на фоновое изображение формы
BackgroundImageLayout : определяет, как изображение, заданное в свойстве BackgroundImage, будет располагаться на форме.
ControlBox : указывает, отображается ли меню формы. В данном случае под меню понимается меню самого верхнего уровня, где находятся иконка приложения, заголовок формы, а также кнопки минимизации формы и крестик. Если данное свойство имеет значение false, то мы не увидим ни иконку, ни крестика, с помощью которого обычно закрывается форма
Cursor : определяет тип курсора, который используется на форме
Enabled : если данное свойство имеет значение false, то она не сможет получать ввод от пользователя, то есть мы не сможем нажать на кнопки, ввести текст в текстовые поля и т.д.
Font : задает шрифт для всей формы и всех помещенных на нее элементов управления. Однако, задав у элементов формы свой шрифт, мы можем тем самым переопределить его
ForeColor : цвет шрифта на форме
FormBorderStyle : указывает, как будет отображаться граница формы и строка заголовка. Устанавливая данное свойство в None можно создавать внешний вид приложения произвольной формы
HelpButton : указывает, отображается ли кнопка справки формы
Icon : задает иконку формы
Location : определяет положение по отношению к верхнему левому углу экрана, если для свойства StartPosition установлено значение Manual
MaximizeBox : указывает, будет ли доступна кнопка максимизации окна в заголовке формы
MinimizeBox : указывает, будет ли доступна кнопка минимизации окна
MaximumSize : задает максимальный размер формы
MinimumSize : задает минимальный размер формы
Opacity : задает прозрачность формы
Size : определяет начальный размер формы
StartPosition : указывает на начальную позицию, с которой форма появляется на экране
Text : определяет заголовок формы
TopMost : если данное свойство имеет значение true , то форма всегда будет находиться поверх других окон
Visible : видима ли форма, если мы хотим скрыть форму от пользователя, то можем задать данному свойству значение false
WindowState : указывает, в каком состоянии форма будет находиться при запуске: в нормальном, максимизированном или минимизированном
Программная настройка свойств
С помощью значений свойств в окне Свойства мы можем изменить по своему усмотрению внешний вид формы, но все то же самое мы можем сделать динамически в коде. Перейдем к коду, для этого нажмем правой кнопкой мыши на форме и выберем в появившемся контекстном меню View Code (Просмотр кода). Перед нами открывается файл кода Form1.cs. Изменим его следующим образом:

В данном случае мы настроили несколько свойств отображения формы: заголовок, фоновый цвет, ширину и высоту. При использовании конструктора формы надо учитывать, что весь остальной код должен идти после вызова метода InitializeComponent() , поэтому все установки свойств здесь расположены после этого метода.
Установка размеров формы
Для установки размеров формы можно использовать такие свойства как Width/Height или Size. Width/Height принимают числовые значения, как в вышеприведенном примере. При установке размеров через свойство Size, нам надо присвоить свойству объект типа Size:
Объект Size в свою очередь принимает в конструкторе числовые значения для установки ширины и высоты.
Начальное расположение формы
Начальное расположение формы устанавливается с помощью свойства StartPosition , которое может принимать одно из следующих значений:
Manual : Положение формы определяется свойством Location
CenterScreen : Положение формы в центре экрана
WindowsDefaultLocation : Позиция формы на экране задается системой Windows, а размер определяется свойством Size
WindowsDefaultBounds : Начальная позиция и размер формы на экране задается системой Windows
CenterParent : Положение формы устанавливается в центре родительского окна
Все эти значения содержатся в перечислении FormStartPosition , поэтому, чтобы, например, установить форму в центре экрана, нам надо прописать так:
Фон и цвета формы
Чтобы установить цвет как фона формы, так и шрифта, нам надо использовать цветовое значение, хранящееся в структуре Color:
Кроме того, мы можем в качестве фона задать изображение в свойстве BackgroundImage , выбрав его в окне свойств или в коде, указав путь к изображению:
Чтобы должным образом настроить нужное нам отображение фоновой картинки, надо использовать свойство BackgroundImageLayout , которое может принимать одно из следующих значений:
None : Изображение помещается в верхнем левом углу формы и сохраняет свои первоначальные значения
Tile : Изображение располагается на форме в виде мозаики
Center : Изображение располагается по центру формы
Stretch : Изображение растягивается до размеров формы без сохранения пропорций
Zoom : Изображение растягивается до размеров формы с сохранением пропорций
Получить реальный размер формы
Хочу получить размеры формы когда она полностью развёрнута.
Вешаю на событие Form1_Resize что бы отлавливать размеры.
На компьютере показывает 1936 x 1056
- Реальное разрешение экрана = 1920 x 1080
А на ноуте показывает 1374 x 748
- Реальное разрешение экрана = 1366 x 748
Почему врёт про ширину ?
Size — размеры формы с границами.
ClientSize — размер контрола без границы.
Также смотрите свойства DisplayRectangle и ClientRectangle .
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.3.3.43278
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Получить размер экрана в пикселях в форме окна на С# [дубликат]

ПРЕДОСТЕРЕЖЕНИЕ: В системе с НЕСКОЛЬКИМИ МОНИТОРАМИ вместо этого вы можете захотеть узнать размер экрана, НА КОТОРОМ КОНКРЕТНАЯ ФОРМА включена. Для этого используйте Screen.FromControl(myForm). Видеть stackoverflow.com/questions/2402739/… Больше подробностей. — ИнструментальщикСтив
для многоэкранной системы. можно получить экран, содержащий наибольшую часть основной формы, из основной формы приложения, например: Screen.FromControl(this).WorkingArea; — gg89
Предупреждение номер 2: это не будет работать на 64-битном моно на macos (поскольку winforms еще не реализована для 64-битной версии). Я просто споткнулся об это. — Тайрон
Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками .net winforms c#-4.0 or задайте свой вопрос.
Записки программера
Напрямую менять свойство формы отвечающее за ширину (и высоту) нельзя. Для изменения размеров необходимо создать новый объект (например MySize ), который будет принадлежать классу Size и изменить параметры этого объекта. Затем приравнять свойству Size формы значение объекта MySize . Внутри класса Size обращение к ширине будет выглядеть как MySize.Width , а к высоте как MySize.Height .

Размеры формы
Вариант первый с использованием промежуточных переменных: