2013-04-09 246 views
3

我使用C#的聊天程序的工作,我需要所以我需要一个函数来改变文字的颜色在C#给每一位用户不同的颜色, =>更改颜色

谢谢

+0

的WinForms,WPF,ASP.NET? – 2013-04-09 15:29:22

+0

您可以在rgb值中添加5,如:Color.FromArgb(5,5,5);下一次:Color.FromArgb(10,10,10); orso – Max 2013-04-09 15:30:14

+0

只是对这个问题“封闭不具建设性”这一事实发表评论。我在另一个问题中阅读了这个问题,并完全同意:大多数情况下,这些简单的问题比文档本身(特别是MSDN ...)更有帮助。所以请关闭它,但不要删除它。 – 2014-04-15 06:49:14

回答

25

我打算假设这是一个WinForms问题(它感觉就像是一个“程序”而不是网站/应用程序)。在这种情况下,您可以简单地执行以下操作来更改标签的文字颜色:

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

或您选择的任何其他颜色。如果您想更具体一些,你可以使用RGB值,像这样:

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

具有不同的颜色为不同的用户可以做多种方式。例如,您可以允许每个用户指定自己的RGB值颜色,将其存储在某个位置,然后在用户“连接”时加载它们。

另一种方法可以是使用2种颜色 - 当前用户(运行应用程序)为1,其他人为另一种颜色。这将帮助用户快速识别他们自己的消息。

第三种方法可以随机生成颜色 - 但是您可能会得到相互冲突的值,这些值与背景无法很好地显示,所以我建议不要采用这种方法。您可以有一个预定义的“可接受”颜色列表,并为每个加入的用户从该列表中弹出一个。

7

您可以Color.FromArgb试试这个:

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