Console.ForegroundColor 属性

定义

获取或设置控制台的前景色。Gets or sets the foreground color of the console.

public:
 static property ConsoleColor ForegroundColor { ConsoleColor get(); void set(ConsoleColor value); };
public static ConsoleColor ForegroundColor { get; set; }
member this.ForegroundColor : ConsoleColor with get, set
Public Shared Property ForegroundColor As ConsoleColor

属性值

一个 ConsoleColor,指定控制台的前景色;也就是显示的每个字符的颜色。A ConsoleColor that specifies the foreground color of the console; that is, the color of each character that is displayed. 默认为灰色。The default is gray.

例外

设置操作中指定的颜色不是 ConsoleColor 的有效成员。The color specified in a set operation is not a valid member of ConsoleColor.

用户没有执行此操作的权限。The user does not have permission to perform this action.

出现 I/O 错误。An I/O error occurred.

示例

下面的示例检查控制台的背景色是否为黑色,如果是,则将背景色更改为红色,将前景色更改为黑色。The following example checks whether the console's background color is black and, if it is, it changes the background color to red and the foreground color to black.

using System;

public class Example
{
   public static void Main()
   {
      if (Console.BackgroundColor == ConsoleColor.Black) {
         Console.BackgroundColor = ConsoleColor.Red;
         Console.ForegroundColor = ConsoleColor.Black;
         Console.Clear();
      }
   }
}
Module Example
   Public Sub Main()
      If Console.BackgroundColor = ConsoleColor.Black Then
         Console.BackgroundColor = ConsoleColor.Red
         Console.ForegroundColor = ConsoleColor.Black
         Console.Clear()
      End If
   End Sub
End Module

下面的示例将 ConsoleColor 枚举的值保存到数组,并将 BackgroundColorForegroundColor 属性的当前值存储到变量。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. 然后,它会将前景色更改为 ConsoleColor 枚举中的每种颜色(与当前背景匹配的颜色除外),并且它会将背景色更改为 ConsoleColor 枚举中的每种颜色,与当前前景匹配的颜色除外。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. (如果前景色与背景色相同,则不显示文本。)最后,它调用 ResetColor 方法来还原原来的控制台颜色。(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.

using System;

class Example
{
   public static void Main() 
   {
      // Get an array with the values of ConsoleColor enumeration members.
      ConsoleColor[] colors = (ConsoleColor[]) ConsoleColor.GetValues(typeof(ConsoleColor));
      // Save the current background and foreground colors.
      ConsoleColor currentBackground = Console.BackgroundColor;
      ConsoleColor currentForeground = Console.ForegroundColor;

      // Display all foreground colors except the one that matches the background.
      Console.WriteLine("All the foreground colors except {0}, the background color:",
                        currentBackground);
      foreach (var color in colors) {
         if (color == currentBackground) continue;
         
         Console.ForegroundColor = color;
         Console.WriteLine("   The foreground color is {0}.", color);
      }
      Console.WriteLine();
      // 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:",
                        currentForeground);
      foreach (var color in colors) {
         if (color == currentForeground) continue;
         
         Console.BackgroundColor = color;
         Console.WriteLine("   The background color is {0}.", color);
      }
      
      // Restore the original console colors.
      Console.ResetColor();
      Console.WriteLine("\nOriginal colors restored...");
   }
}
//The example displays output like the following:
//    All the foreground colors except DarkCyan, the background color:
//       The foreground color is Black.
//       The foreground color is DarkBlue.
//       The foreground color is DarkGreen.
//       The foreground color is DarkRed.
//       The foreground color is DarkMagenta.
//       The foreground color is DarkYellow.
//       The foreground color is Gray.
//       The foreground color is DarkGray.
//       The foreground color is Blue.
//       The foreground color is Green.
//       The foreground color is Cyan.
//       The foreground color is Red.
//       The foreground color is Magenta.
//       The foreground color is Yellow.
//       The foreground color is White.
//    
//    All the background colors except White, the foreground color:
//       The background color is Black.
//       The background color is DarkBlue.
//       The background color is DarkGreen.
//       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...
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:",
                        currentBackground)
      For Each color In colors
         If color = currentBackground Then Continue For
          
         Console.ForegroundColor = color
         Console.WriteLine("   The foreground color is {0}.", color)
      Next 
      Console.WriteLine()
      
      ' 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:",
                        currentForeground)
      For Each color In colors
         If color = currentForeground  then Continue For
         Console.BackgroundColor = color
         Console.WriteLine("   The background color is {0}.", color)
      Next
      ' Restore the original console colors.
      Console.ResetColor
      Console.WriteLine()
      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...

注解

对于基于 Windows 的应用程序(在该应用程序中不存在控制台)的 get 操作,将返回 GrayA get operation for a Windows-based application, in which a console does not exist, returns Gray.

适用于