6
votes

4 Réponses :


8
votes

Il n'est pas possible de modifier la couleur d'une fenêtre individuellement, mais vous pouvez modifier la couleur du système d'exploitation via la résection de la résination. L'entrée doit être quelque chose comme ceci: HKEY_LOCAL_MACHINE \ logiciel \ Microsoft \ Windows \ Panneau de commande \ Courage \ Colorisation de verre \ Swatches En conjonction avec HKEY_CURrent_USER \ Software \ Microsoft \ Windows \ DWM - ColorizeColor < / code>

Dans votre code, vous ne pouvez ajuster que la forme et la taille de votre bordure de verre, mais je ne pense pas la couleur. Dans Formulaires Windows ILS est fait comme Ceci et in WPF comme celui-ci .


1 commentaires

Comment changez-vous la couleur à l'aide des touches REG? Avez-vous un exemple de code? : D Comment implémenter cela? :RÉ



2
votes

Ce n'est pas possible avec C # /. Net. WPF / Windowsforms vous permet de modifier les bordures sur les éléments de l'application. Les frontières d'application sont contrôlées par l'utilisateur.


0 commentaires

2
votes

tandis que Bitbonk et George ont signalé correctement que Windows n'est pas capable de modifier les couleurs de la bordure pour des fenêtres individuelles, vous pouvez rechercher le propriétaire de la fenêtre. Vous pouvez ensuite être capable de réaliser ce dont vous avez besoin, cependant, la fenêtre ne ressemblera probablement plus à une fenêtre «natif».

voir Cette question sur SO.


0 commentaires

2
votes

THECARDINALE: Votre méthode de registre ne modifie pas instantanément la couleur et nécessite un redémarrage du service de gestionnaire de fenêtres de bureau. Il existe une fonction d'API Windows sans papiers qui vous permet de modifier instantanément la couleur du thème Aero. (C'est à nouveau, un changement global - s'applique à toutes les fenêtres)

Bien que je n'ai pas de code C # pour le faire, vb.net devrait vous aider puisqu'il s'agit essentiellement de la même chose p>

WDM_COLORIZATION_PARAMS temp = getColor();
temp.Color1 = System.Drawing.Color.FromArgb(alpha,red,green,blue).ToArgb();
temp.Color2 = System.Drawing.Color.FromArgb(alpha,red,green,blue).ToArgb();
setColor(temp);


1 commentaires

Bienvenue à Stackoverflow! Vous pouvez toujours convertir de C # en vb.net ou vice versa en utilisant Fusion du développeur < / a> :)