Disabling Minimize & Maximize On WinForm?
WinForms have those three boxes in the upper right hand corner that minimize, maximize, and close the form. What I want to be able to do is to remove the minimize and maximize, while keeping the close.
I also what to make the close minimize the form instead of closing it.
How can this be done?
Solution 1:
The Form
has two properties called MinimizeBox
and MaximizeBox
, set both of them to false
.
To stop the form closing, handle the FormClosing
event, and set e.Cancel = true;
in there and after that, set WindowState = FormWindowState.Minimized;
, to minimize the form.
Solution 2:
Bind a handler to the FormClosing
event, then set e.Cancel = true
, and set the form this.WindowState = FormWindowState.Minimized
.
If you want to ever actually close the form, make a class-wide boolean _close
and, in your handler, set e.Cancel
to !_close
, so that whenever the user clicks the X
on the window, it doesn't close, but you can still close it (without just killing it) with close = true; this.Close();
(And just to make my answer complete) set MaximizeBox
and MinimizeBox
form properties to False
.
Solution 3:
Set MaximizeBox
and MinimizeBox
form properties to False