Comment puis-je faire mon propre thème pour mon application Windows Forms?
Sur l'exécution d'un Windows Forms application en C# le point de vue de l'apparence de la forme le même que le thème de Windows.
Comment puis-je donner mon propre thème pour mon application qui ne dépend pas de la Windows thème?
Avez-vous essayé de supprimer l'appel à EnableVisualStyles() à partir de votre programme principal?
oui, mais il ne donne que de style classique
Faire de votre INTERFACE utilisateur ressemble le thème que l'utilisateur a sélectionné est largement considéré comme un actif, et non passif. Il prend les ressources des grandes entreprises comme Adobe et Microsoft pour mettre à jour en permanence leurs propres dépouillement code pour l'empêcher de se rassis et stupide. Jetez un oeil à celui-ci: stackoverflow.com/questions/238177/worst-ui-youve-ever-used/...
oui, mais il ne donne que de style classique
Faire de votre INTERFACE utilisateur ressemble le thème que l'utilisateur a sélectionné est largement considéré comme un actif, et non passif. Il prend les ressources des grandes entreprises comme Adobe et Microsoft pour mettre à jour en permanence leurs propres dépouillement code pour l'empêcher de se rassis et stupide. Jetez un oeil à celui-ci: stackoverflow.com/questions/238177/worst-ui-youve-ever-used/...
OriginalL'auteur Javed Akram | 2010-11-03
Vous devez vous connecter pour publier un commentaire.
Remplacer la
OnPaint
méthode et tirer les choses que vous voulez. 🙂OriginalL'auteur Sency
Vous ne pouvez pas faire cela facilement. Il existe plusieurs solutions de rechange à votre disposition.
La façon la plus simple est de créer une Peau fichier XML de votre propre, dans laquelle vous spécifiez vos propres couleurs pour votre Application, vous avez bien lu via une Classe que vous créez et et de les appliquer de nouvelles couleurs. Cela permet de garder les choses séparées et prêt pour des changements futurs. Mais notez que vous ne serez pas en mesure de changer la façon dont la Barre de Titre est rendue du système et d'autres choses spécifiques, tels que les X et de Maximiser les boutons de regarder.
Expansion sur le point 1, vous pouvez créer vos formulaires sans frontières et de créer votre fenêtre avec la peinture custom (remplacer OnPaint) et des images. C'est plus difficile à accomplir. Vous pouvez hériter de la classe de la Forme et de créer votre propre CustomDrawnForm que vous allez utiliser dans votre application.
Utiliser l'une des nombreuses bibliothèques de contrôle là-bas, comme DevExpress. Certains sont gratuits, certains sont chers.
Ce que vous essayez de faire n'est pas très simple dans Windows.Les formes, et peut-être que vous devriez regarder WPF et d'autres solutions de rechange.
OriginalL'auteur Axonn
Cela dépend de votre intention pour la thématisation; Hans dit dans son commentaire, généralement en utilisant le système du "thème" pour les contrôles et l'apparence de la fenêtre est considérée comme un atout.
Cependant, à des éléments de thème au sein de votre application - par exemple, l'arrière-plan de l'en-tête du panneau ou de la position de la couleur de police etc. ensuite, je voudrais créer une interface avec des définitions pour les couleurs et les images dans votre application (par exemple,
ITheme
) puis il suffit d'utiliser régulièrement la liaison de données pour les configurer de manière appropriée lors de l'exécution lorsque leITheme
est réglé.En fait, vous pouvez passer à l'étape supérieure... Par exemple, dans notre application, nous avons également définir un
IThemeManager
:Nous permettre à la ThemeManager à la dépendance injecté et ensuite nous lier à elle est
Current
propriété dans notre contrôles:OriginalL'auteur Reddog
Je sais que cette question est assez vieux, mais pour ceux (comme moi) toujours intéressé à la création de vraiment "sur le thème" Windows forms, comme mentionné ci-dessus, WPF est très bon pour la création de thèmes. Il y a quelques pré-créé thèmes disponibles (Google et stackoverflow sont toujours à vos amis) pour le téléchargement. Il peut y un peu d'une courbe d'apprentissage du projet Windows Forms monde, mais à mon humble avis vaut bien. Mais si vous souhaitez rester à une simple Application Windows Forms (comme je l'ai fait), le plus simple suggestion est de créer sans frontières formes (Jeu de FormBorderStyle à Aucun). Cela permettra de maintenir la plupart des fenêtres standard propriétés du conteneur. Bien sûr, vous aurez besoin pour créer votre propre "sur le thème" barre de titre et les bordures, mais c'est la plupart du temps où le "thème" d'un Formulaire Windows. Vous aurez également besoin de créer votre propre dimensionnement et le déplacement de méthodes, mais encore une fois, Google et stackoverflow sont vos amis. Cette simple suggestion aussi évident qu'il peut être à certains, a été énorme pour moi.
OriginalL'auteur OldDog