Вопрос

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

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

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

Это было полезно?

Решение

То Form имеет два свойства под названием MinimizeBox а также MaximizeBox, установить их оба false.

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

Другие советы

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

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

(И просто чтобы сделать мой ответ полным) MaximizeBox а также MinimizeBox Свойства формы для False.

Задавать MaximizeBox а также MinimizeBox Свойства формы для False

Щелкните правой кнопкой мыши Форма, на которую вы хотите скрыть, выберите «Управление элементами управления».

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

  • Контроль управления -> Ложь
  • Минимизировать коробку -> ложь
  • Максимизируйте коробку -> ложь

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

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

 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

public Form1()
{
InitializeComponent();
//this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.MinimizeBox = false;
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top