Winforms - Comment puis-je créer un personnalisé windows frontière et de la fermer/réduire les boutons?
Je voudrais être en mesure de créer un noir de fenêtre personnalisée (avec des frontières et des contrôles) comme livrées dans le cadre de l'expression blend, Tourbillon, ou Adobe Lightroom.
Est-il des pratiques exemplaires de créer un propriétaire tiré de la fenêtre?
Plate-forme: C# et WindowsForms (toute version)
Voici l'article pour créer des formes de windows en utilisant seulement les panneaux -- Création de Formulaires Windows en C# à l'aide de Panneaux
Double Possible de Personnalisé titlebars/chrome dans une application WinForms
Double Possible de Personnalisé titlebars/chrome dans une application WinForms
OriginalL'auteur Brian Lyttle | 2008-11-20
Vous devez vous connecter pour publier un commentaire.
Personnalisé titlebars/chrome dans une application WinForms
OriginalL'auteur
Si le custom-chrome ne fournissent pas les outils vous avec le look and feel que vous voulez, ce genre de chose est facile à faire vous-même en C#. En gros, vous créez un formulaire sans bordure (FormBorderStyle = None) et donc de créer tous les contrôles et les frontières de vous-même, par la mise en œuvre de contrôles où vous en avez besoin (un label pour la barre de titre, des boutons de commande pour fermer et de minimiser etc.) et/ou de dessin directement sur le formulaire de la surface à l'aide de l'objet Graphique.
Vous devez également mettre en œuvre le code pour autoriser le formulaire pour être traîné par ses "faux" de la barre de titre (voir cette réponse pour un exemple de comment le faire). Vous pouvez également avoir à mettre en place votre propre mécanisme de redimensionnement automatique (si vous avez besoin de formulaires à être redimensionnable).
Enfin, bien que le code du formulaire peut être un peu maladroit, vous pouvez mettre en œuvre sur un seul formulaire et ensuite toutes les autres formes dans votre application hériter de cette forme, ce qui en fait une technique très utile pour personnalisée-le dépouillement d'un ensemble de l'application.
OriginalL'auteur MusiGenesis
Ma tâche était de rendre active la fenêtre le plus sensible, vif que les autres, les fenêtres inactives de l'application. App a beaucoup de fenêtres ouvertes, certains modal, certains non modale et le parent MDI.
Vous pouvez vous pouvez utiliser quelque chose comme pas-un-frontière - un cadre à l'intérieur de la zone client. Voici l'extrait de code, une partie d'une classe de base (peut être utilisé directement dans un formulaire):
Champs statiques de la classe sont initialisées à partir des paramètres de l'application de la forme (classe) - donc, toutes les formes de l'app a le même comportement.
Espoir qui aide à quelqu'un.
OriginalL'auteur Nikita