2010-06-11 2 views
76

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

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

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

ответ

122

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

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

+0

Могли бы вы не просто установить блок управления к ложным. –

+1

@krystanhonour OP хотел сохранить закрытие. –

+0

ahh достаточно справедливо :) –

10

Набор MaximizeBox и MinimizeBox свойства формы к False

14

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

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

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

1

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

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

свести к минимуму при закрытии.

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

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

В окне Свойства установите

  • Control Box -> False
  • Минимизация Box -> False
  • Maximize Box -> False

Вы будете делать это в конструкторе.

1

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

Смежные вопросы