2010-06-11 11 views
76

WinForms ont ces trois boîtes dans le coin supérieur droit qui réduisent au minimum, maximiser et fermer le formulaire. Ce que je veux être en mesure de faire est de supprimer le minimiser et maximiser, tout en gardant le proche.Désactivation Réduire et optimiser sur WinForm?

je aussi ce qu'il faut faire la minimize close la forme au lieu de le fermer.

Comment cela peut-il être fait?

Répondre

122

Le Form a deux propriétés appelées MinimizeBox et MaximizeBox, mettre tous les deux à false.

Pour arrêter la fermeture de formulaire, gérez l'événement FormClosing et définissez e.Cancel = true; dans cet événement et, après cela, définissez WindowState = FormWindowState.Minimized; pour réduire le format.

+0

Pourriez-vous pas seulement mettre la boîte de commande à false. –

+1

@krystanhonour L'OP voulait garder la proximité cependant. –

+0

ahh assez juste :) –

10

Set MaximizeBox et MinimizeBox propriétés forment à False

14

Liez un gestionnaire à l'événement FormClosing, puis définissez e.Cancel = true et définissez le formulaire this.WindowState = FormWindowState.Minimized.

Si vous voulez jamais réellement fermer la forme, faire un booléen de classe à l'échelle _close et, dans votre gestionnaire, mis 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) et mis en MaximizeBoxMinimizeBox propriétés du formulaire à False.

1

vous pouvez simplement désactiver optimiser constructeur de forme à l'intérieur.

public Form1(){ 
    InitializeComponent(); 
    MaximizeBox = false; 
} 

pour minimiser lors de la fermeture.

private void Form1_FormClosing(Object sender, FormClosingEventArgs e) { 
    e.Cancel = true; 
    WindowState = FormWindowState.Minimized; 
} 
2

Clic droit sur le formulaire que vous voulez les cacher sur, choisissez Commandes -> Propriétés.

Dans Propriétés, définissez

  • Control Box -> Faux
  • Réduire Boîte -> Faux
  • Maximize Box -> Faux

Vous faites cela dans le concepteur.

1

Comment faire la forme minimiser lorsque la fermeture a déjà été répondu, mais comment supprimer les boutons minimiser et maximiser ne l'était pas.
FormBorderStyle: FixedDialog
MinimizeBox: false
MaximizeBox: false