Как получить размеры формы c
Перейти к содержимому

Как получить размеры формы c

  • автор:

Как получить размеры формы c

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

свойства форм в Windows Forms

Большинство этих свойств оказывает влияние на визуальное отображение формы. Пробежимся по основным свойствам:

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 .

Размеры формы

Размеры формы

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *