2012-12-26 5 views
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; 
     } 

나는 여기서 나 자신을 분명히하고 있기를 바랍니다. 어떤 도움을 주시면 감사하겠습니다!

감사합니다.

+1

이 다른 설정을위한 좋은 질문이지만, 정말 StackOverflow에가로 작성되었는지 질문의 종류 아니다 대답. [How to Ask FAQ] (http://stackoverflow.com/questions/how-to-ask)를 참조하십시오. – JDB

+0

휠을 재발 명하고 있습니다. 이미 지원되고 있습니다. 콘솔 창이 표시되면 Alt + Space, Properties, Color 탭을 누릅니다. –

답변

3

Console.ForegroundColor에 직접 할당하는 대신 변수를 사용하고 나중에 사용하십시오.

0

당신은 그럼 당신은 당신의 프로그램에서 사용할 수 있습니다 그 이후이

color = ConsoleColor.Red; 

처럼 당신의 색상을 저장이

ConsoleColore color; 

같은 변수를 사용할 수 있습니다!

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"); 

    } 
} 
관련 문제