Export (0) Print
Expand All
5 out of 10 rated this helpful - Rate this topic

Console.BackgroundColor Property

Gets or sets the background color of the console.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)
public static ConsoleColor BackgroundColor { get; set; }

Property Value

Type: System.ConsoleColor
A value that specifies the background color of the console; that is, the color that appears behind each character. The default is black.
ExceptionCondition
ArgumentException

The color specified in a set operation is not a valid member of System.ConsoleColor.

SecurityException

The user does not have permission to perform this action.

IOException

An I/O error occurred.

A change to the BackgroundColor property affects only output that is written to individual character cells after the background color is changed. To change the background color of the console window as a whole, set the BackgroundColor property and call the Clear method. The following example provides an illustration.

using System;

public class Example
{
   public static void Main()
   {
      WriteCharacterStrings(1, 26, true);
      Console.MoveBufferArea(0, Console.CursorTop - 10, 30, 1, 
                             Console.CursorLeft, Console.CursorTop + 1);
      Console.CursorTop = Console.CursorTop + 3;
      Console.WriteLine("Press any key..."); 
      Console.ReadKey();

      Console.Clear();
      WriteCharacterStrings(1, 26, false);
   }

   private static void WriteCharacterStrings(int start, int end, 
                                             bool changeColor)
   {                                             
      for (int ctr = start; ctr <= end; ctr++) {
         if (changeColor)
            Console.BackgroundColor = (ConsoleColor) ((ctr - 1) % 16);

         Console.WriteLine(new String(Convert.ToChar(ctr + 64), 30));
      }   
   }
}

A get operation for a Windows-based application, in which a console does not exist, returns ConsoleColor.Black.

The following example demonstrates the System.ConsoleColor enumeration in conjunction with the Console.ForegroundColor and Console.BackgroundColor properties, and the Console.ResetColor method. You must run the example on a console to see the described color effects.

Two constants in the example, Black and White, are specified explicitly and all the other constants (Blue, DarkRed, and so on) are specified indirectly. First the names of the constants are obtained by using the GetNames method, which is inherited from the Enum class. Then the Enum.Parse method uses each name to create the corresponding enumerated constant.

using System;

class Example
{
   public static void Main() 
   {
      // Get a string array with the names of ConsoleColor enumeration members.
      String[] colorNames = ConsoleColor.GetNames(typeof(ConsoleColor));

      // Display each foreground color except black on a constant black background.
      Console.WriteLine("All the foreground colors (except Black) on a constant black background:");

      foreach (string colorName in colorNames)
      {
         // Convert the string representing the enum name to the enum value.
         ConsoleColor color = (ConsoleColor) Enum.Parse(typeof(ConsoleColor), colorName);

         if (color == ConsoleColor.Black) continue;

         Console.Write("{0,11}: ", colorName);
         Console.BackgroundColor = ConsoleColor.Black;
         Console.ForegroundColor = color;
         Console.WriteLine("This is foreground color {0}.", colorName);
         // Restore the original foreground and background colors.
         Console.ResetColor();
      }
      Console.WriteLine();

      // Display each background color except white with a constant white foreground.
      Console.WriteLine("All the background colors (except White) with a constant white foreground:");

      foreach (string colorName in colorNames)
      {
         // Convert the string representing the enum name to the enum value.
         ConsoleColor color = (ConsoleColor) Enum.Parse(typeof(ConsoleColor), colorName);

         if (color == ConsoleColor.White) continue;

         Console.Write("{0,11}: ", colorName);
         Console.ForegroundColor = ConsoleColor.White;
         Console.BackgroundColor = (ConsoleColor) Enum.Parse(typeof(ConsoleColor), colorName);
         Console.WriteLine("This is background color {0}.", colorName);
         Console.ResetColor();
      }
   }
}
//The example displays the following output: 
// All the foreground colors (except Black) on a constant black background: 
//    DarkBlue: This is foreground color DarkBlue. 
//   DarkGreen: This is foreground color DarkGreen. 
//    DarkCyan: This is foreground color DarkCyan. 
//     DarkRed: This is foreground color DarkRed. 
// DarkMagenta: This is foreground color DarkMagenta. 
//  DarkYellow: This is foreground color DarkYellow. 
//        Gray: This is foreground color Gray. 
//    DarkGray: This is foreground color DarkGray. 
//        Blue: This is foreground color Blue. 
//       Green: This is foreground color Green. 
//        Cyan: This is foreground color Cyan. 
//         Red: This is foreground color Red. 
//     Magenta: This is foreground color Magenta. 
//      Yellow: This is foreground color Yellow. 
//       White: This is foreground color White. 
//  
// All the background colors (except White) with a constant white foreground: 
//       Black: This is background color Black. 
//    DarkBlue: This is background color DarkBlue. 
//   DarkGreen: This is background color DarkGreen. 
//    DarkCyan: This is background color DarkCyan. 
//     DarkRed: This is background color DarkRed. 
// DarkMagenta: This is background color DarkMagenta. 
//  DarkYellow: This is background color DarkYellow. 
//        Gray: This is background color Gray. 
//    DarkGray: This is background color DarkGray. 
//        Blue: This is background color Blue. 
//       Green: This is background color Green. 
//        Cyan: This is background color Cyan. 
//         Red: This is background color Red. 
//     Magenta: This is background color Magenta. 
//      Yellow: This is background color Yellow.

.NET Framework

Supported in: 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft. All rights reserved.