Console.ForegroundColor 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置控制台的前景色。
public:
static property ConsoleColor ForegroundColor { ConsoleColor get(); void set(ConsoleColor value); };
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public static ConsoleColor ForegroundColor { get; set; }
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
[System.Runtime.Versioning.UnsupportedOSPlatform("android")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static ConsoleColor ForegroundColor { get; set; }
public static ConsoleColor ForegroundColor { get; set; }
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
member this.ForegroundColor : ConsoleColor with get, set
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("android")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
member this.ForegroundColor : ConsoleColor with get, set
member this.ForegroundColor : ConsoleColor with get, set
Public Shared Property ForegroundColor As ConsoleColor
属性值
一个 ConsoleColor,指定控制台的前景色;也就是显示的每个字符的颜色。 默认为灰色。
- 属性
例外
设置操作中指定的颜色不是 ConsoleColor 的有效成员。
用户没有执行此操作的权限。
出现 I/O 错误。
示例
以下示例检查控制台的背景色是否为黑色,如果是,它会将背景色更改为红色,将前景色更改为黑色。
using System;
public class Example
{
public static void Main()
{
if (Console.BackgroundColor == ConsoleColor.Black) {
Console.BackgroundColor = ConsoleColor.Red;
Console.ForegroundColor = ConsoleColor.Black;
Console.Clear();
}
}
}
open System
if Console.BackgroundColor = ConsoleColor.Black then
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 BackgroundColor ForegroundColor 存储到变量。 然后,它将前景色更改到枚举中除与当前背景匹配的颜色之外的每种颜色,并且将背景色更改为枚举中除与当前前景色匹配的颜色以外的每种颜色。 ConsoleColor ConsoleColor (如果前景色与背景色相同,则文本不可见。) 最后,它会调用 方法来 ResetColor 还原原始控制台颜色。
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...
open System
// Get an array with the values of ConsoleColor enumeration members.
let colors = ConsoleColor.GetValues<ConsoleColor>()
// Save the current background and foreground colors.
let currentBackground = Console.BackgroundColor
let currentForeground = Console.ForegroundColor
// Display all foreground colors except the one that matches the background.
printfn $"All the foreground colors except {currentBackground}, the background color:"
for color in colors do
if color <> currentBackground then
Console.ForegroundColor <- color
printfn $" The foreground color is {color}."
printfn ""
// Restore the foreground color.
Console.ForegroundColor <- currentForeground;
// Display each background color except the one that matches the current foreground color.
printfn $"All the background colors except {currentForeground}, the foreground color:"
for color in colors do
if color <> currentForeground then
Console.BackgroundColor <- color
printfn $" The background color is {color}."
// Restore the original console colors.
Console.ResetColor()
printfn "\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 操作将返回 Gray 。
Unix 系统不提供提取当前控制台颜色的任何常规机制。 因此, ForegroundColor 将返回 (ConsoleColor)-1
,直到使用 setter (显式设置) 。