2010-06-11 9 views
76

WinForms haben diese drei Felder in der oberen rechten Ecke, die das Formular minimieren, maximieren und schließen. Was ich tun möchte ist, das Minimieren und Maximieren zu entfernen, während das Schließen beibehalten wird.Deaktivieren Minimieren & Maximieren auf WinForm?

Ich auch, was zum Schließen die Form zu minimieren, anstatt es zu schließen.

Wie kann das gemacht werden?

Antwort

122

Die Form hat zwei Eigenschaften genannt MinimizeBox und MaximizeBox, beide zu false gesetzt.

Um das Schließen des Formulars zu stoppen, behandeln Sie das Ereignis FormClosing, und setzen Sie e.Cancel = true; dort und danach WindowState = FormWindowState.Minimized;, um das Formular zu minimieren.

+0

Könnten Sie nicht nur Kontrollbox auf false gesetzt. –

+1

@krystanhonour Das OP wollte das Schließen jedoch behalten. –

+0

ahh fair genug :) –

10

Set MaximizeBox und MinimizeBox Formulareigenschaften False

14

Binden Sie einen Handler an das FormClosing Ereignis, dann setzen Sie e.Cancel = true, und legen Sie das Formular this.WindowState = FormWindowState.Minimized fest.

Wenn Sie jemals tatsächlich das Formular zu schließen, stellen eine Klasse weite boolean _close und in Ihrem Handler, e.Cancel zu !_close gesetzt, so dass, wenn der Benutzer die X auf dem Fenster klickt, es lässt sich nicht schließen, aber man kann es immer noch in der Nähe (ohne es nur zu töten) mit close = true; this.Close();

(und meine Antwort komplett zu machen) gesetzt MaximizeBox und MinimizeBox Formulareigenschaften False.

1

können Sie einfach Maximieren innerhalb Form Konstruktor deaktivieren.

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

zu minimieren beim Schließen.

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

Rechts klicken, um das Formular, das Sie sie auf ausblenden möchten, wählen Sie Controls -> Eigenschaften.

In Eigenschaften legen

  • Control Box -> False
  • Box minimieren -> False
  • Maximize Box -> False

Sie tun dies im Designer.

1

Wie Formular minimieren, wenn das Schließen wurde bereits beantwortet, aber wie entfernen die Minimieren und Maximieren Tasten war nicht.
FormBorderStyle: FixedDialog
MinimizeBox: false
MaximizeBox: false