9

私はC#を使用してチャットプログラムで作業しており、すべてのユーザーに異なる色を与える必要があります.=>C#で書き込みの色を変更する機能が必要です.

ありがとう

4

2 に答える 2

36

これは WinForms に関する質問であると仮定します (Web サイトやアプリではなく「プログラム」であることに基づいて、そのように感じます)。その場合、次のようにしてラベルのテキストの色を簡単に変更できます。

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

または、お好みの他の色。より具体的にしたい場合は、次のように RGB 値を使用できます。

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

ユーザーごとに異なる色を使用するには、さまざまな方法があります。たとえば、各ユーザーが独自の RGB 値の色を指定し、これらをどこかに保存し、ユーザーが「接続」したときにそれらをロードできるようにすることができます。

別の方法として、2 つの色を使用することもできます。1 つは現在のユーザー (アプリを実行している) 用で、もう 1 つの色は他のすべてのユーザー用です。これは、ユーザーが他のメッセージよりも自分のメッセージをすばやく識別するのに役立ちます。

3 つ目の方法は、色をランダムに生成することです。ただし、背景に対して適切に表示されない競合する値が得られる可能性が高いため、この方法を使用しないことをお勧めします。「許容できる」色の定義済みリストを用意し、参加するユーザーごとにそのリストから 1 つだけポップすることができます。

于 2013-04-09T15:30:34.437 に答える
9

これを試すことができますColor.FromArgb

Random rnd = new Random();
lbl.ForeColor = Color.FromArgb(rnd.Next(255), rnd.Next(255), rnd.Next(255));
于 2013-04-09T15:36:05.993 に答える