Désactivation de réduction et d'agrandissement sur WinForm?
Question
WinForms ont ces trois boîtes dans le coin supérieur droit qui minimize, maximize, et fermez le formulaire. Ce que je veux être en mesure de le faire est de supprimer la réduction et d'agrandissement, tout en gardant la fin.
Je aussi ce qu'il faut faire la fin de minimiser la forme au lieu de le fermer.
Comment cela peut-il être fait?
La solution
Le Form
a deux propriétés appelées MinimizeBox
et MaximizeBox
, fixés les deux à false
.
Pour arrêter la fermeture de forme, gérer l'événement FormClosing
et ensemble e.Cancel = true;
là-bas et après cela, ensemble WindowState = FormWindowState.Minimized;
, afin de minimiser la forme.
Autres conseils
Bind un gestionnaire à l'événement FormClosing
, puis e.Cancel = true
ensemble, et définir la forme this.WindowState = FormWindowState.Minimized
.
Si vous voulez jamais réellement fermer le formulaire, faire une _close
de classe à l'échelle booléens et, dans votre gestionnaire, ensemble e.Cancel
à !_close
, de sorte que chaque fois que l'utilisateur clique sur le X
sur la fenêtre, il ne se ferme pas, mais vous pouvez toujours fermer (sans tuer juste) avec close = true; this.Close();
(Et juste pour ma réponse complète) ensemble MaximizeBox
et les propriétés du formulaire de MinimizeBox
à False
.
Définir les propriétés du formulaire MaximizeBox
et de MinimizeBox
à False
Clic droit sur le formulaire que vous voulez les cacher sur, choisissez Commandes -.> Propriétés
Dans Propriétés, ensemble
- Control Box -> false
- Réduire Box -> false
- Maximize Box -> false
Vous allez le faire dans le concepteur.
vous pouvez simplement désactiver maximisent l'intérieur constructeur du formulaire.
public Form1(){
InitializeComponent();
MaximizeBox = false;
}
pour réduire au minimum lors de la fermeture.
private void Form1_FormClosing(Object sender, FormClosingEventArgs e) {
e.Cancel = true;
WindowState = FormWindowState.Minimized;
}
Comment faire sous forme de minimiser lorsque la fermeture a été déjà répondu, mais comment Supprimer les minimiser et maximiser les boutons était pas.
FormBorderStyle
: FixedDialog
MinimizeBox
: false
MaximizeBox
: false
public Form1()
{
InitializeComponent();
//this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.MinimizeBox = false;
}