1

私が実装したいことの 1 つは、ユーザーが表現したい色を選択し、それをプログラム全体で使用できるようにするコンソール アプリケーションを作成しています。

私のアイデアは、switch ステートメント (以下を参照) を介して機能するメニューを用意することでした。その部分は簡単ですが、プログラムの後半でこのスイッチで選択した色を呼び出すにはどうすればよいでしょうか?

private static void colorSelector()
    {
        var myKey = Console.ReadKey(true);
        switch (myKey.Key)
        {
            case ConsoleKey.F1:
                Console.ForegroundColor = ConsoleColor.Green;
                break;
            case ConsoleKey.F2:
                Console.ForegroundColor = ConsoleColor.Cyan;
                break;
            case ConsoleKey.F3:
                Console.ForegroundColor = ConsoleColor.Red;
                break;
            case ConsoleKey.F4:
                Console.ForegroundColor = ConsoleColor.Magenta;
                break;
            case ConsoleKey.F5:
                Console.ForegroundColor = ConsoleColor.Blue;
                break;
            case ConsoleKey.F6:
                Console.ForegroundColor = ConsoleColor.Yellow;
                break;
        }

ここで自分自身を十分に明確にしていることを願っています。助けていただければ幸いです。

ありがとう。

4

3 に答える 3

3

に直接割り当てる代わりに、Console.ForegroundColor代わりに変数を使用し、後でそれを使用します。

于 2012-12-26T14:56:41.257 に答える
0

これをクラスレベルの変数に割り当てて、クラス全体で取得できます。

class Program
{
    private static ConsoleColor _userColor;
    static void Main(string[] args)
    {

        var myKey = Console.ReadKey(true);
        switch (myKey.Key)
        {
            case ConsoleKey.F1:
                _userColor = ConsoleColor.Green;
                break;
            case ConsoleKey.F2:
                _userColor = ConsoleColor.Cyan;
                break;
            case ConsoleKey.F3:
                _userColor = ConsoleColor.Red;
                break;
            case ConsoleKey.F4:
                _userColor = ConsoleColor.Magenta;
                break;
            case ConsoleKey.F5:
                _userColor = ConsoleColor.Blue;
                break;
            case ConsoleKey.F6:
                _userColor = ConsoleColor.Yellow;
                break;

        }

        DoSomething();

        Console.ReadLine();
    }

    private static void DoSomething()
    {
        Console.ForegroundColor = _userColor;
        Console.WriteLine("color choosen");

        Console.ForegroundColor = ConsoleColor.Black;
        Console.BackgroundColor = _userColor;
        Console.WriteLine("flipped it");

    }
}
于 2012-12-26T16:00:00.910 に答える
0

このように変数を使用できます

ConsoleColore color;

次に、このように色を保存します

color = ConsoleColor.Red;

その後、プログラムで使用できます。

于 2012-12-26T15:45:33.220 に答える