2010-06-11 15 views
76

WinFormy mają te trzy pola w prawym górnym rogu, które minimalizują, maksymalizują i zamykają formularz. To, co chcę móc zrobić, to usunąć zminimalizować i zmaksymalizować przy jednoczesnym zachowaniu bliskości.Wyłączanie Minimalizuj i maksymalizuj na WinForm?

Ja również, co zrobić z bliska, zminimalizować formularz, zamiast go zamknąć.

Jak można tego dokonać?

Odpowiedz

122

Form ma dwie właściwości nazywa MinimizeBox i MaximizeBox ustaw oboje do false.

Aby zatrzymać zamykanie formularza, należy obsłużyć zdarzenie FormClosing i ustawić e.Cancel = true; tam, a następnie ustawić WindowState = FormWindowState.Minimized;, aby zminimalizować formularz.

+0

Nie można po prostu ustawić skrzynkę sterującą false. –

+1

@krystanhonour OP chciał jednak zamknąć. –

+0

ahh fair enough :) –

10

Ustaw MaximizeBox i MinimizeBox forma własności do False

14

Powiąż nośnik ze zdarzeniem FormClosing, a następnie ustaw e.Cancel = true i ustaw formularz this.WindowState = FormWindowState.Minimized.

Jeśli chcesz kiedykolwiek rzeczywiście zamknąć formularz, zrobić klasy szerokości logiczną _close, aw swojej obsługi, zestaw e.Cancel do !_close, tak, że gdy użytkownik kliknie X w oknie, to nie zamyka, ale nadal można go zamknąć (bez zabijania go tylko) z close = true; this.Close();

(i właśnie zrobić moją odpowiedź pełna) określonych MaximizeBox i MinimizeBox właściwości formularza, aby False.

1

można po prostu wyłączyć maksymalny wewnętrzny konstruktor formularzy.

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

w celu zminimalizowania podczas zamykania.

2

Kliknij prawym przyciskiem myszy formularz, na którym chcesz je ukryć, wybierz polecenie Sterowanie -> Właściwości.

W oknie Właściwości ustaw

  • skrzynką sterowania -> false
  • Minimalizacja Box -> Fałsz
  • Maximize Box -> Fałsz

Zrobisz to w projektanta.

1

Sposób zminimalizowania formularza po zamknięciu został już odebrany, ale w jaki sposób usunąć przyciski minimalizacji i maksymalizacji nie były.
FormBorderStyle: FixedDialog
MinimizeBox: false
MaximizeBox: false