11
votes

Comment changer la couleur de la bordure C #?

Je voudrais changer la couleur de la fenêtre de la fenêtre (la frontière avec le titre de formulaire). L'exemple que j'ai trouvé dans CodePlex est trop et déroutant. Peut-on aider à moi sur quelque chose de plus simple?


0 commentaires

6 Réponses :


11
votes

Malheureusement, puisque la bordure de formulaire est dessinée par le système d'exploitation, cette est une tâche compliquée . Il n'y a pas de chemin réel autour de ça.

Ne cliquez pas sur le lien du projet Distributeur de la page CODEPLEX ci-dessous

the Projet de CodePlex pour dessiner des frontières personnalisées rend cela très facile, cependant. Il suffit de construire le formulaire à l'aide de la peau de ce projet au lieu d'une forme standard et de fonctionner - vous n'avez vraiment rien à faire différent dans votre code.


1 commentaires

Merci pour la réponse Reed ... Même avec Soure Cod de CodePlex, j'ai toujours un problème de modifier la couleur de la bordure supérieure ou plutôt toute la couleur de la frontière.



-8
votes
if (colorDialog1.ShowDialog() == DialogResult.OK)
{
    string color = Convert.ToString(colorDialog1.Color);
    MessageBox.Show("You change the color " + color);
    this.BackColor = colorDialog1.Color; // BackColor is only accessible for this form
}

1 commentaires

La question était de la couleur de la frontière, pas de couleur de fond.



-2
votes

CI-DESSOUS "PRISHORIQUE" Leur devrait être un paramètre appelé "Formborderstyle" Vous pouvez le modifier avec cela dans VisualStudio 2015. Ou vous pouvez aller dans le chemin du panneau de configuration doit être quelque chose comme ce "panneau de commande \ apparence et personnalisation \ personnalisation". Leur sera un deuxième réglage appelé "couleur" peut changer cela pour être quelle couleur vous voulez changer la couleur de la pension dans tous les programmes de la couleur que vous avez définie.


1 commentaires

Je pense que cet utilisateur demande comment effectuer cette tâche via le code.



8
votes

Solution de contournement - suivez simplement ces étapes:
  • SET FORMBORDERSTYLE TO Aucun .
  • couvrez le formulaire avec un panneau et laissez de l'espace à la frontière.
  • Définissez la couleur que vous souhaitez pour la bordure comme couleur arrière de la forme.

    Maintenant, le panneau sert de conteneur principal et vous pouvez changer l'arrière-plan comme vous le souhaitez et que le formulaire sert de frontière.

    Le résultat final

     Entrez la description de l'image ici


1 commentaires

Exactement, c'est la meilleure solution, mais malheureusement, avec beaucoup de problèmes ... comme Ajout de la possibilité de déplacer ce panneau, ajoutez de redimensionner au formulaire et etc.



12
votes

le remplacer par: xxx


0 commentaires

-1
votes

Comme mentionné précédemment, la modification de la couleur réelle de la frontière est difficile. La solution ci-dessus avec le panneau présente des limitations telles que vous ne pouvez pas redimensionner le formulaire. J'ai trouvé une truc raisonnablement facile sans beaucoup d'autres limitations.

  • Créer un formulaire
  • SET FORMULAIRE DE FORMULAIRE À Aucun
  • Ajouter 4 panneaux
  • Définissez la couleur d'arrière-plan des panneaux sur la couleur de la frontière que vous souhaitez
  • ancrage un en haut, en bas, à gauche et à droite
  • Réglez la hauteur (haut / bas) ou la largeur (gauche / droite) à l'épaisseur de la frontière que vous souhaitez. 2 ou 3 a l'air vraiment bon.

    Cela ressemble à une bordure, il redimensionnera avec la fenêtre et vous pouvez laisser tomber quelque chose d'autre dans la forme que vous voulez. La limitation est que vous devez le faire comme la toute première chose que vous ajoutez au formulaire.


0 commentaires