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

Как запретить изменять размер формы c

  • автор:

Как запретить изменять размер формы?

Запись была обновлена

Иногда требуется, чтобы пользователи не могли изменить размер окна программы. К примеру, интерфейс жёстко привязан к размерам родительского окна и при изменении размера окна приложения будет «поломан» интерфейс, если, конечно, не были прописаны методы масштабирования каждого компонента. Для простого приложения это не сложно сделать, но если это полноценная функциональная программа, то тут будет очень проблемно. Поэтому стоит позаботиться о запрете изменении размера формы.

Запрет изменение формы через свойство BorderStyle

В «Object Inspector» во вкладке Properties компонента Form есть свойство BorderStyle, которое определяет размер рамки и возможность изменения размера формы. Имеет несколько значений, из которых нужны следующие:

Запрет изменение формы через метод OnCanResize

В «Object Inspector» во вкладке «Events» компонента Form есть метод OnCanResize, который срабатывает при изменении размера формы.

В этом случае пользователю будет даваться возможность изменять размер формы приложения, но при изменении форма останется в прежнем размере.

Disable resizing of a Windows Forms form

How do I turn off the user’s ability to resize a Windows Forms form?

I’m having it resize itself on a click.

Peter Mortensen's user avatar

7 Answers 7

You may also want to remove the minimize and maximize buttons:

  1. First, select the form.
  2. Then, go to the properties menu.

And change the property «FormBorderStyle» from sizable to Fixed3D or FixedSingle.

This is where to modify the property "FormBorderStyle".

Peter Mortensen's user avatar

Mahmoud Maghrabi's user avatar

More precisely, add the code below to the private void InitializeComponent() method of the Form class:

A-Sharabiani's user avatar

Explanation

By default, FormBorderStyle property has the sizable value FormBorderStyle.Sizable assigned. Which enables form to be resized.

There are 7 kinds of FormBorderStyle property values available to use.

  • None
  • FixedSingle
  • Fixed3D
  • FixedDialog
  • Sizable
  • FixedToolWindow
  • SizableToolWindow

Depending upon the kind of form, we can assign the appropriate value accordingly. Assuming your form name is form1 .

Choose any one from below to make it as Fixed

FixedSingle, Fixed3D, FixedDialog makes the form non-resizeable, assigning None will also work but won’t make sense without a control box in case.

Code snippets below, use any one of them

None [Optional] Note: There’d no control box

Or, Graphically

We can apply it graphically like this.

Make sure you’ve selected the form which you want to make it fixed size. then you’ll see a property named FormBorderStyle property there in Properties window.

Как запретить изменять размер формы c

How do I turn off the user’s ability to resize a Windows Forms form?

I’m having it resize itself on a click.

user avatar

7 Answers 7

You may also want to remove the minimize and maximize buttons:

  1. First, select the form.
  2. Then, go to the properties menu.

And change the property «FormBorderStyle» from sizable to Fixed3D or FixedSingle.

This is where to modify the property

user avatar

user avatar

More precisely, add the code below to the private void InitializeComponent() method of the Form class:

user avatar

Explanation

By default, FormBorderStyle property has the sizable value FormBorderStyle.Sizable assigned. Which enables form to be resized.

There are 7 kinds of FormBorderStyle property values available to use.

  • None
  • FixedSingle
  • Fixed3D
  • FixedDialog
  • Sizable
  • FixedToolWindow
  • SizableToolWindow

Depending upon the kind of form, we can assign the appropriate value accordingly. Assuming your form name is form1 .

Choose any one from below to make it as Fixed

FixedSingle, Fixed3D, FixedDialog makes the form non-resizeable, assigning None will also work but won’t make sense without a control box in case.

Code snippets below, use any one of them

None [Optional] Note: There’d no control box

Or, Graphically

We can apply it graphically like this.

Make sure you’ve selected the form which you want to make it fixed size. then you’ll see a property named FormBorderStyle property there in Properties window.

Запретить пользователям изменять размер окна / формы

Пользователь может изменить размер формы. Я не нахожу свойства формы, которое не позволяет пользователю изменять размер формы.

11 ответов

Установите FormBorderStyle на другое значение, например FixedSingle или FixedDialog .

Для этого есть несколько обходных путей:

Установите для свойства максимального размера значение, которое вы предпочитаете. Если вы не хотите, чтобы окно приложения также уменьшалось, установите свойство минимального размера. Если вы предпочитаете, чтобы приложение имело тот же размер, что и во время разработки, установите максимальный и минимальный размер в качестве размера вашего окна. (После того, как вы установили максимальный или минимальный размер в конструкторе, вы не сможете изменить размер окна программно, если вы снова не переустановите максимальный размер и минимальный размер программно)

Установите для FormBorderStyle значение FixedSingle или FixedDialog. Разница во внешнем виде не будет заметна для неподготовленных глаз, но одно существенное отличие, которое я обнаружил на своем опыте, заключается в том, что, когда вы делаете это FixedSingle, вы все равно можете изменять размер программно. С FixedDialog это невозможно. Это огромное преимущество для свойства FixedSingle. (Если вы хотите программно изменить размер окна здесь после перехода на FixedDialog, вам нужно сначала программно изменить FormBorderStyle, что приведет к небольшому эффекту мигания при запуске приложения).

Так что просто выберите FixedSingle. И чтобы разобраться, сделайте следующее:

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

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