Minimieren und Maximieren auf WinForm deaktivieren?
Frage
WinForms haben diese drei Kästchen in der rechten oberen Ecke, dass minimieren, maximieren und schließen Sie das Formular. Was ich möchte in der Lage zu tun, ist das Minimieren und zu Maximieren, zu entfernen, während die Nähe zu halten.
ich, was auch die Nähe, um die Form zu minimieren, anstatt sie zu schließen.
Wie kann dies geschehen?
Lösung
Die Form
hat zwei Eigenschaften genannt MinimizeBox
und MaximizeBox
, beide zu false
gesetzt.
Um das Formular Schließen zu stoppen, behandeln Sie das FormClosing
Ereignis und Satz e.Cancel = true;
dort und danach, Satz WindowState = FormWindowState.Minimized;
, das Formular zu minimieren.
Andere Tipps
Bind ein Handler zum FormClosing
Ereignis, dann Satz e.Cancel = true
, und stellen Sie die Form this.WindowState = FormWindowState.Minimized
.
Wenn Sie das Formular überhaupt wollen eigentlich in der Nähe, machen eine Klasse weite boolean _close
und in der Handler, Satz e.Cancel
zu !_close
, dass so, wenn der Benutzer die X
auf dem Fenster klickt, es lässt sich nicht schließen, aber Sie können noch in der Nähe es (ohne es nur zu töten) mit close = true; this.Close();
(Und meine Antwort komplett zu machen) Satz MaximizeBox
und MinimizeBox
Formulareigenschaften False
.
Set MaximizeBox
und MinimizeBox
Formulareigenschaften False
Rechtsklick das Formular, das Sie wollen, dass sie verstecken auf, wählen Controls -.> Eigenschaften
Eigenschaften Satz
- Control Box -> False
- Minimieren Box -> False
- Maximize Box -> False
Sie tun dies im Designer.
Sie können einfach deaktivieren Maximierungs innen Form Konstruktor.
public Form1(){
InitializeComponent();
MaximizeBox = false;
}
minimieren beim Schließen.
private void Form1_FormClosing(Object sender, FormClosingEventArgs e) {
e.Cancel = true;
WindowState = FormWindowState.Minimized;
}
Wie Form zu machen, zu minimieren, wenn Schließung wurde bereits beantwortet, aber wie auf Entfernen die Schaltflächen Minimieren und Maximieren nicht.
FormBorderStyle
: FixedDialog
MinimizeBox
: false
MaximizeBox
: false
public Form1()
{
InitializeComponent();
//this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.MinimizeBox = false;
}