允许用户选择一种颜色并将其存储以供以后使用
本文关键字:存储 一种 用户 许用户 选择 颜色 | 更新日期: 2023-09-27 17:49:45
我正在编写一个控制台应用程序,其中我想实现的一件事是让用户选择他们想要表示他们的颜色,然后在整个程序中使用它。
我的想法是有一个菜单,通过一个开关语句工作(见下文),这部分很容易,但我怎么能继续,并调用他们选择的颜色在这个开关稍后的程序中?
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;
}
我希望我在这里说得足够清楚,我很感激任何帮助!
谢谢。
不要直接赋值给Console.ForegroundColor
,而是使用一个变量,以后再使用。
你可以这样使用变量
ConsoleColore color;
然后像这样保存你的颜色
color = ConsoleColor.Red;
之后你可以在你的程序中使用它!
您可以将其分配给类级别变量,然后在整个类中检索它:
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");
}
}