Disattivazione Ridurre al minimo e schermo intero In WinForm?
Domanda
WinForms hanno quei tre caselle nell'angolo in alto a destra che ridurre, ingrandire e chiudere il modulo. Quello che voglio essere in grado di fare è quello di rimuovere il minimizzare e massimizzare, mantenendo la stretta.
Ho anche cosa fare alla fine ridurre al minimo la forma, invece di chiuderlo.
Come si può fare?
Soluzione
Il Form
ha due proprietà denominate MinimizeBox
e MaximizeBox
, impostare entrambi di false
.
Per fermare la chiusura forma, gestire l'evento FormClosing
e set e.Cancel = true;
lì e dopo che, insieme WindowState = FormWindowState.Minimized;
, per minimizzare il modulo.
Altri suggerimenti
Associa un gestore per l'evento FormClosing
, quindi impostare e.Cancel = true
, e impostare il modulo this.WindowState = FormWindowState.Minimized
.
Se si vuole mai realmente vicino la forma, fare una _close
di classe a livello booleano e, nel vostro gestore, e.Cancel
insieme a !_close
, in modo che ogni volta che l'utente fa clic sul X
sulla finestra, non è così vicino, ma è ancora possibile chiuderlo (senza giusta uccidendolo) con close = true; this.Close();
(E proprio per rendere la mia risposta completa) insieme MaximizeBox
e formare MinimizeBox
oggetti da False
.
Set MaximizeBox
e formare MinimizeBox
oggetti da False
tasto destro la forma che si desidera nascondere loro su, scegliere Controlli -.> Proprietà
In Proprietà, set
- Box di controllo -> false
- Riduci a icona di sicurezza -> false
- Massimizza di sicurezza -> false
Si farà questo nella finestra di progettazione.
Si possono disabilitare semplicemente massimizzare all'interno costruttore del form.
public Form1(){
InitializeComponent();
MaximizeBox = false;
}
per ridurre al minimo in fase di chiusura.
private void Form1_FormClosing(Object sender, FormClosingEventArgs e) {
e.Cancel = true;
WindowState = FormWindowState.Minimized;
}
Come rendere forma minimizzare quando la chiusura è stata già risposto, ma come i pulsanti rimuovere minimizzare e massimizzare non lo era.
FormBorderStyle
: FixedDialog
MinimizeBox
: false
MaximizeBox
: false
public Form1()
{
InitializeComponent();
//this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.MinimizeBox = false;
}