Отключение Минимизации И Максимизации В WinForm?

WinForms имеют эти три коробки в правом верхнем углу, которые минимизируют, максимизируют и закрывают форму. То, что я хочу сделать, это удалить минимизацию и максимизацию, сохраняя при этом закрытие.

Я также, что сделать, чтобы закрыть минимизировать форму вместо ее закрытия.

Как это можно сделать?

6 ответов


на Form имеет два свойства называются MinimizeBox и MaximizeBox задайте их обоих в false.

чтобы остановить закрытие формы, обработайте FormClosing событие и set e.Cancel = true; там и после этого, set WindowState = FormWindowState.Minimized;, чтобы минимизировать форме.


привязать обработчик к FormClosing событие, затем установить e.Cancel = true, и установить форму this.WindowState = FormWindowState.Minimized.

если вы хотите когда-либо фактически закрыть форму, сделайте логическое_close и в вашем обработчике установите e.Cancel до !_close, так что всякий раз, когда пользователь нажимает X на окне он не закрывается, но вы все равно можете закрыть его (не просто убивая его) с close = true; this.Close();

(и просто, чтобы сделать мой ответ полным) set MaximizeBox и MinimizeBox свойства формы False.


Set MaximizeBox и MinimizeBox свойства формы False


щелкните правой кнопкой мыши форму, которую вы хотите скрыть, выберите элементы управления - > Свойства.

в свойствах установить

  • Блок Управления - > False
  • Свернуть Окно - > False
  • Развернуть Окно - > False

вы сделаете это в дизайнере.


вы можете просто отключить maximize внутри конструктора формы.

 public Form1(){
     InitializeComponent();
     MaximizeBox = false;
 }

минимизировать при закрытии.

private void Form1_FormClosing(Object sender, FormClosingEventArgs e) {
    e.Cancel = true;
    WindowState = FormWindowState.Minimized;
}

как сделать минимизацию формы при закрытии уже ответили, но как удалить кнопки минимизации и максимизации не было.
FormBorderStyle: FixedDialog
MinimizeBox: false
MaximizeBox: false