2013-04-09 2 views
3

Je travaille dans un programme de chat en utilisant C# et je dois donner à chaque utilisateur une couleur différente, => Je besoin d'une fonction pour changer la couleur de l'écriture en C#Changer la couleur de l'étiquette en C#

Merci

+0

WinForms, WPF, ASP.NET? –

+0

vous pouvez ajouter 5 dans les valeurs rgb, comme: Color.FromArgb (5, 5, 5); Et la prochaine fois: Color.FromArgb (10, 10, 10); ouso – Max

+0

Juste un commentaire au fait que la question est "fermée comme non constructive". Je l'ai lu dans une autre question autour et d'accord complètement: la plupart du temps, ces questions simples sont plus utiles que la documentation en soi (en particulier MSDN ...). Alors s'il vous plaît, fermez-le mais ne l'enlevez pas. –

Répondre

25

Je vais supposer qu'il s'agit d'une question WinForms (ce qui se sent comme, basé sur le fait qu'il s'agit d'un «programme» plutôt que d'un site Web/application). Dans ce cas, vous pouvez simplement faire ce qui suit pour changer la couleur du texte d'une étiquette:

myLabel.ForeColor = System.Drawing.Color.Red; 

ou toute autre couleur de votre choix. Si vous voulez être plus précis, vous pouvez utiliser une valeur RVB comme ceci:

myLabel.ForeColor = Color.FromArgb(0, 0, 0);//(R, G, B) (0, 0, 0 = black) 

ayant des couleurs différentes pour les utilisateurs différents peuvent se faire de plusieurs façons. Par exemple, vous pouvez autoriser chaque utilisateur à spécifier ses propres couleurs de valeur RVB, les stocker quelque part et les charger lorsque l'utilisateur "se connecte".

Une méthode alternative pourrait être d'utiliser simplement 2 couleurs - 1 pour l'utilisateur actuel (exécutant l'application) et une autre couleur pour tout le monde. Cela aiderait l'utilisateur à identifier rapidement ses propres messages au-dessus des autres.

Une troisième approche pourrait être de générer la couleur au hasard - mais vous obtiendrez probablement des valeurs contradictoires qui ne s'affichent pas bien par rapport à votre arrière-plan, donc je suggère de ne pas adopter cette approche. Vous pouvez avoir une liste prédéfinie de couleurs "acceptables" et en extraire une de cette liste pour chaque utilisateur qui se joint.

7

Vous pouvez essayer avec Color.FromArgb:

Random rnd = new Random(); 
lbl.ForeColor = Color.FromArgb(rnd.Next(255), rnd.Next(255), rnd.Next(255)); 
Questions connexes