Изменить размер формы во время выполнения в C#
Я видел примеры, но каждый из них требует формы.Свойство size. Это свойство может быть установлено как здесь: http://msdn.microsoft.com/en-us/library/25w4thew.aspx#Y456, но я создал свою форму приложения в визуальном инструменте, и форма создается следующим образом:
как мне установить, что Size свойство время от времени меняет его на Form.Height и Form.Width методами?
5 ответов
если вы хотите программно манипулировать формой, самое простое решение-сохранить ссылку на нее:
вы можете использовать это, чтобы изменить размер (или что еще вы хотите сделать) во время выполнения. Хотя, как стрелки вы не можете установить Width и Height непосредственно, но должны установить Size собственность.
вы не можете изменить свойства Width и Height формы по мере их чтения. Вы можете изменить размер формы следующим образом:
чтобы вызвать это, вам нужно будет сохранить ссылку на вашу форму и передать ссылку на метод run. Тогда вы можете назвать это в обработчик.
вы можете изменить высоту формы, выполнив следующие действия, где вы хотите изменить размер (замените’ 10 ‘ для вашего размера):
Это можно сделать и с шириной:
что-то вроде этого отлично работает для меня:
затем вы можете изменить размер, как показано ниже:
еще один полезный момент заключается в том, что если вы хотите изменить размер mainForm С другой Form , вы можете просто использовать свойство для установки размера.
Как расположить форму и изменить ее размер (Windows Forms .NET)
При создании формы размер и расположение изначально задаются как значения по умолчанию. Размер формы по умолчанию обычно имеет ширину и высоту 800 x 500 пикселей. Начальное расположение, отображаемое при отображении формы, зависит от нескольких различных параметров.
Изменить размер формы можно во время разработки с помощью Visual Studio, а также во время выполнения с помощью кода.
Документация руководства по классическим приложениям для .NET 6 и .NET 5 (включая .NET Core 3.1) находится в разработке.
Изменение размера с помощью конструктора
После добавления новой формы в проект размер формы задается двумя разными способами. Во-первых, для него можно задать маркеры изменения размера в конструкторе. Перетаскивая правый край, нижний край или угол, можно изменить размер формы.

Второй способ изменения размера формы — в конструкторе на панели «Свойства». Выберите форму, а затем найдите панель Свойства в Visual Studio. Прокрутите вниз до раздела Размер и разверните его. Можно вручную задать параметры Ширина и Высота.

Изменение размера в коде
Несмотря на то, что начальный размер формы задается в конструкторе, его можно изменить с помощью кода. Использование кода для изменения размера формы полезно, когда в каком-либо приложении размера формы по умолчанию недостаточно.
Чтобы изменить размер формы, измените свойство Size, которое представляет ширину и высоту формы.
Изменение размера текущей формы
Размер текущей формы можно изменить, пока код выполняется в контексте формы. Например, если имеется Form1 с кнопкой, то при нажатии на нее вызывается обработчик событий Click для изменения размера формы:
Изменение размера другой формы
Размер другой формы можно изменить после ее создания с помощью переменной, ссылающейся на форму. Например, предположим, что у вас есть две формы: Form1 (начальная форма в этом примере) и Form2 . В Form1 имеется кнопка, которая при нажатии вызывает событие Click . Обработчик этого события создает новый экземпляр формы Form2 , задает размер, а затем отображает его:
Если свойство Size не задано вручную, размер формы по умолчанию — это размер, заданный во время разработки.
Расположение с помощью конструктора
При создании и отображении экземпляра формы начальное расположение формы определяется свойством StartPosition. Свойство Location содержит текущее положение в форме. Оба свойства можно задать с помощью конструктора.

| Перечисление FormStartPosition | Описание |
|---|---|
| CenterParent | Форма располагается в центре родительской формы. |
| CenterScreen | Форма располагается по центру текущего экрана. |
| Вручную | Положение формы определяется свойством Расположение. |
| WindowsDefaultBounds | Форма размещается в расположении Windows по умолчанию и ее размер подгоняется под размер по умолчанию, который определен Windows. |
| WindowsDefaultLocation | Форма размещается в расположении Windows по умолчанию и не изменяется. |
Значение CenterParent работает только с формами, которые являются либо дочерними формами многодокументного интерфейса (MDI), либо обычными формами, отображаемыми с помощью метода ShowDialog. CenterParent не влияет на обычную форму, которая отображается с помощью метода Show. Чтобы разместить форму по центру (переменная form ) другой формы (переменная parentForm ), используйте следующий код:
Расположение с помощью кода
Несмотря на то, что для задания начального расположения формы можно использовать конструктор, изменить режим начальной позиции или задать расположение вручную можно с помощью кода. Использование кода для расположения формы полезно, если необходимо вручную разместить форму и изменить ее размер относительно экрана или других форм.
Перемещение текущей формы
Переместить текущую форму можно, пока код выполняется в контексте формы. Например, если имеется Form1 с кнопкой, то при нажатии на нее вызывается обработчик событий Click . Обработчик в этом примере изменяет расположение формы на верхнюю левую часть экрана путем задания свойства Location:
Расположение другой формы
Расположение другой формы можно изменить после ее создания с помощью переменной, ссылающейся на форму. Например, предположим, что у вас есть две формы: Form1 (начальная форма в этом примере) и Form2 . В Form1 имеется кнопка, которая при нажатии вызывает событие Click . Обработчик этого события создает новый экземпляр формы Form2 и задает ее размер:
Если свойство Size не задано, размер формы по умолчанию — это размер, заданный во время разработки.
Практическое руководство. Изменение размера формы в Windows Forms
Размер формы Windows Forms можно указать несколькими способами. Вы можете изменить высоту и ширину формы программными средствами, задав новое значение для свойства Size или изменив свойства Height или Width по отдельности. Если используется Visual Studio, вы можете изменить размеры с помощью конструктора Windows Forms. См. также Практическое руководство. Изменение размера формы Windows Forms в конструкторе.
Изменение размера формы программными средствами
Чтобы определить размер формы во время выполнения, задайте свойство Size формы.
В примере кода ниже размер формы устанавливается равным 100 × 100 пикселей.
Изменение ширины и высоты формы программными средствами
Определив свойство Size, измените высоту или ширину формы с помощью свойств Width или Height.
В примере кода ниже для ширины формы устанавливается значение 300 пикселей, отсчитываемое от левого края формы. Высота остается неизменной.
Измените Width или Height, задав свойство Size.
Однако в примере ниже показано, что этот подход является более громоздким, чем просто задание свойств Width или Height.
Изменение размера формы с шагом программными средствами
Для увеличения размера формы задайте свойства Width или Height.
В примере ниже ширина формы увеличивается на 200 пикселей по сравнению с первоначальным значением.
Всегда используйте свойство Height или Width для изменения размеров формы, если вы не устанавливаете значения высоты и ширины одновременно, присваивая свойству Size новую структуру Size. Свойство Size возвращает структуру Size, которая является типом значения. Присвоить новое значение свойству типа значения нельзя. Поэтому приведенный ниже пример кода компилироваться не будет.