Console.BackgroundColor Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets or sets the background color of the console.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

Public Shared Property BackgroundColor As ConsoleColor

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.

Exception Condition

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


The user does not have permission to perform this action.


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.

Module Example
   Public Sub 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()

      WriteCharacterStrings(1, 26, False)
   End Sub

   Private Sub WriteCharacterStrings(start As Integer, _end As Integer, 
                                     changeColor As Boolean)
      For ctr As Integer = start To _end
         If changeColor Then
            Console.BackgroundColor = CType((ctr - 1) Mod 16, ConsoleColor)
         End If      
         Console.WriteLine(New String(Convert.ToChar(ctr + 64), 30))
   End Sub
End Module

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

The following example saves the values of the ConsoleColor enumeration to an array and stores the current values of the BackgroundColor and ForegroundColor properties to variables. It then changes the foreground color to each color in the ConsoleColor enumeration except to the color that matches the current background, and it changes the background color to each color in the ConsoleColor enumeration except to the color that matches the current foreground. (If the foreground color is the same as the background color, the text isn't visible.) Finally, it calls the ResetColor method to restore the original console colors.

Public Module Example
   Public Sub Main()
      ' Get an array with the values of ConsoleColor enumeration members.
      Dim colors() As ConsoleColor = ConsoleColor.GetValues(GetType(ConsoleColor))
      ' Save the current background and foreground colors.
      Dim currentBackground As ConsoleColor = Console.BackgroundColor
      Dim currentForeground As ConsoleColor = Console.ForegroundColor

      ' Display all foreground colors except the one that matches the background.
      Console.WriteLine("All the foreground colors except {0}, the background color:",
      For Each color In colors
         If color = currentBackground Then Continue For

         Console.ForegroundColor = color
         Console.WriteLine("   The foreground color is {0}.", color)

      ' Restore the foreground color.
      Console.ForegroundColor = currentForeground

      ' Display each background color except the one that matches the current foreground color.
      Console.WriteLine("All the background colors except {0}, the foreground color:",
      For Each color In colors
         If color = currentForeground  then Continue For
         Console.BackgroundColor = color
         Console.WriteLine("   The background color is {0}.", color)
      ' Restore the original console colors.
      Console.WriteLine("Original colors restored...")
   End Sub
End Module
'The example displays output like the following:
'       The background color is DarkCyan.
'       The background color is DarkRed.
'       The background color is DarkMagenta.
'       The background color is DarkYellow.
'       The background color is Gray.
'       The background color is DarkGray.
'       The background color is Blue.
'       The background color is Green.
'       The background color is Cyan.
'       The background color is Red.
'       The background color is Magenta.
'       The background color is Yellow.
'    Original colors restored...


for modifying safe top-level windows and subwindows. Associated enumeration: UIPermissionWindow.SafeTopLevelWindows

.NET Framework
Available since 2.0
Return to top