先是consolecolour.cs类,用来调用颜色 
 
// ConsoleColour.cs 
 using System; // need this to make API calls 
 using System.Runtime.InteropServices; namespace PFitzsimons.ConsoleColour 
 { 
   /// <summary> 
   /// Static class for console colour manipulation. 
   /// </summary> 
   public class ConsoleColour 
   { 
     // constants for console streams 
     const int STD_INPUT_HANDLE = -10; 
     const int STD_OUTPUT_HANDLE = -11; 
     const int STD_ERROR_HANDLE = -12;     [DllImportAttribute("Kernel32.dll")] 
     private static extern IntPtr GetStdHandle 
     ( 
       int nStdHandle // input, output, or error device 
     );     [DllImportAttribute("Kernel32.dll")] 
     private static extern bool SetConsoleTextAttribute 
     ( 
       IntPtr hConsoleOutput, // handle to screen buffer 
       int wAttributes  // text and background colors 
     );     // colours that can be set 
     [Flags] 
     public enum ForeGroundColour 
     { 
       Black = 0x0000, 
       Blue = 0x0001, 
       Green = 0x0002, 
       Cyan = 0x0003, 
       Red = 0x0004, 
       Magenta = 0x0005, 
       Yellow = 0x0006, 
       Grey = 0x0007, 
       White = 0x0008 
     }     // class can not be created, so we can set colours 
     // without a variable 
     private ConsoleColour() 
     { 
     }     public static bool SetForeGroundColour() 
     { 
       // default to a white-grey 
       return SetForeGroundColour(ForeGroundColour.Grey); 
     }     public static bool SetForeGroundColour( 
       ForeGroundColour foreGroundColour) 
     { 
       // default to a bright white-grey 
       return SetForeGroundColour(foreGroundColour, true); 
     }     public static bool SetForeGroundColour( 
       ForeGroundColour foreGroundColour, 
       bool brightColours) 
     { 
       // get the current console handle 
       IntPtr nConsole = GetStdHandle(STD_OUTPUT_HANDLE); 
       int colourMap; 
        
       // if we want bright colours OR it with white 
       if (brightColours) 
         colourMap = (int) foreGroundColour | 
           (int) ForeGroundColour.White; 
       else 
         colourMap = (int) foreGroundColour;       // call the api and return the result 
       return SetConsoleTextAttribute(nConsole, colourMap); 
     } 
   } 
 } 然后是主程序 
 // Console.cs 
 using System; // we want color output 
 using PFitzsimons.ConsoleColour; namespace MyApp 
 { 
   public class MyApp 
   { 
     public static void Main() 
     { 
        ConsoleColour.SetForeGroundColour( 
         ConsoleColour.ForeGroundColour.Green);       Console.WriteLine("Text in green"); 
      ConsoleColour.SetForeGroundColour( 
         );       Console.WriteLine("Text in red"); 
      // reset console back to a default 
       ConsoleColour.SetForeGroundColour(ConsoleColour.ForeGroundColour.Yellow,true); 
    //ConsoleColour.SetForeGroundColour(); 
    //ConsoleColour.SetForeGroundColour(ConsoleColour.ForeGroundColour.Yellow,false);     } 
   } 
 } 分别存成ConsoleColour.cs和Console.cs,然后提示符下编译 
 CSC /t:library ConsoleColour.cs 
 CSC /r:ConsoleColour.dll Console.cs 
 生成console.exe可执行文件 
 执行后看看效果吧! 
  
 
 
                     
            
        













 
                    

 
                 
                    