J'ai une boîte de dialogue modale et je dois masquer le bouton Fermer (X), mais je ne peux pas l'utiliser
ControlBox = false
, car je dois conserver les boutons Réduire et Agrandir.
J'ai besoin de masquer juste le bouton Fermer, y a-t-il un moyen de le faire?
Merci beaucoup!
Mise à jour: j'avais la permission de le désactiver, ce qui est plus simple :) Merci à tous!
hide close button c#
deuxième résultat ici! =)Réponses:
Vous ne pouvez pas le masquer, mais vous pouvez le désactiver en remplaçant la propriété CreateParams du formulaire.
Source: http://www.codeproject.com/KB/cs/DisableClose.aspx
la source
Nous pouvons masquer le bouton de fermeture sur le formulaire en définissant
this.ControlBox=false;
la source
Eh bien, vous pouvez le cacher en supprimant tout le menu système:
Bien sûr, cela supprime les boutons de réduction et de maximisation.
Si vous conservez le menu système mais supprimez l'élément de fermeture, le bouton de fermeture reste mais est désactivé.
La dernière alternative est de peindre vous-même la zone non cliente. C'est assez difficile à faire.
la source
ControlBox
sur false. En outre, cela échoue à l'exigence: je dois conserver les boutons Réduire et Agrandirvous pouvez masquer la zone de fermeture en utilisant
et n'oubliez pas d'ajouter un espace blanc
this.Text = " "
pour faire comme çala source
ControlBox = false
Si vous voulez vraiment le cacher, comme dans "non visible", vous devrez probablement créer un formulaire sans bordure et dessiner vous-même les composants de légende. La bibliothèque VisualStyles a les éléments Windows disponibles. Vous devrez également ajouter à nouveau la fonctionnalité de redimensionnement du formulaire ou de déplacement du formulaire en saisissant la barre de légende. Sans parler du menu système dans le coin.
Dans la plupart des cas, il est difficile de justifier que le bouton "Fermer" ne soit pas disponible, en particulier lorsque vous voulez un formulaire modal avec des capacités de réduction. Minimiser un formulaire modal n'a vraiment aucun sens.
la source
Dans les propriétés de votre formulaire, définissez 'Control Box' = False, mais cela masquera également Minimized et Maximize.
la source
Eh bien, vous pouvez masquer le bouton de fermeture en modifiant le FormBorderStyle de la section des propriétés ou par programme dans le constructeur en utilisant:
puis vous créez un élément de bande de menu pour quitter l'application.
à votre santé
la source