Как запретить пользователю изменять размер окна в моем приложении C #? - PullRequest
29 голосов
/ 20 сентября 2010

Как предотвратить изменение размера окна моего приложения?

Как я могу это сделать?

Ответы [ 6 ]

42 голосов
/ 20 сентября 2010

На главном Form (или любом Form, размер которого вы не хотите изменять), измените свойство FormBorderStyle на Fixed______ (FixedSingle, Fixed3D, FixedDialog, FixedToolWindow).

5 голосов
/ 20 сентября 2010

Другой способ - определить размер формы и установить фактический размер как MinimumSize и MaximumSize через свойства.

Это не меняет ваш BorderStyle, и конечный пользователь не может изменить размер формы.

3 голосов
/ 12 июля 2011

Для этого есть несколько способов:

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

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

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

a.Установите для свойства максимизировать значение false.

b.Установите SizeGripStyle на Скрыть.(@colithium указывает на это)

1 голос
/ 20 сентября 2010

Попробуйте:

Измените FormBorderStyle на Fixed(Single, 3D, Dialog).

0 голосов
/ 03 октября 2015

Если вы хотите использовать значение по умолчанию FormBorderStyle и все еще иметь возможность запретить пользователю изменять размеры формы, вы можете просто установить свойства формы MaximumSize и MinimumSize по своему усмотрению.

this.MaximumSize = new Size(XX,YY);
this.MinimumSize = new Size(X,Y);
0 голосов
/ 09 сентября 2012

Существует проблема с поиском этих свойств в более старых версиях Visual Studio, таких как Visual Studio 2008, и ResizeMode здесь не отображается.

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
  if (e.CloseReason == CloseReason.UserClosing)
  {
    e.Cancel = true;
    this.WindowState = FormWindowState.Minimized;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...