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?

È stato utile?

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;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top