Console.BackgroundColor 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定主控台的背景色彩。
public:
static property ConsoleColor BackgroundColor { ConsoleColor get(); void set(ConsoleColor value); };
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public static ConsoleColor BackgroundColor { 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 BackgroundColor { get; set; }
public static ConsoleColor BackgroundColor { get; set; }
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
member this.BackgroundColor : 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.BackgroundColor : ConsoleColor with get, set
member this.BackgroundColor : ConsoleColor with get, set
Public Shared Property BackgroundColor As ConsoleColor
屬性值
值,可指定主控台的背景色彩,也就是出現在每一個字元後面的色彩。 預設為黑色。
- 屬性
例外狀況
設定作業中指定的色彩不是 ConsoleColor 的有效成員。
使用者沒有執行這項動作的權限。
發生 I/O 錯誤。
範例
下列範例會將列舉的值 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...
備註
屬性的變更 BackgroundColor 只會影響背景色彩變更後寫入個別字元資料格的輸出。 若要變更整個主控台視窗的背景色彩,請設定 BackgroundColor 屬性,並呼叫 Clear 方法。 下列範例提供說明。
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((char)(ctr + 64), 30));
}
}
}
open System
let writeCharacterStrings start end' changeColor =
for i = start to end' do
if changeColor then
Console.BackgroundColor <- (i - 1) % 16 |> enum
Console.WriteLine(String(char (i + 64), 30))
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() |> ignore
Console.Clear()
writeCharacterStrings 1 26 false
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()
Console.Clear()
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))
Next
End Sub
End Module
Windows 應用程式的 get 作業,其中主控台不存在,會傳回 ConsoleColor.Black 。
Unix 系統不提供任何一般機制來提取目前的主控台色彩。 因此,會傳回 BackgroundColor , (ConsoleColor)-1
直到以明確方式設定 (使用 setter) 。