Console.BackgroundColor Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví barvu pozadí konzoly.
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")>]
static member 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")>]
static member BackgroundColor : ConsoleColor with get, set
static member BackgroundColor : ConsoleColor with get, set
Public Shared Property BackgroundColor As ConsoleColor
Hodnota vlastnosti
Hodnota, která určuje barvu pozadí konzoly; to znamená barvu, která se zobrazuje za jednotlivými znaky. Výchozí hodnota je černá.
- Atributy
Výjimky
Barva zadaná v operaci sady není platným členem .ConsoleColor
Uživatel nemá oprávnění k provedení této akce.
Došlo k vstupně-výstupní chybě.
Příklady
Následující příklad uloží hodnoty výčtu ConsoleColor do pole a aktuální hodnoty BackgroundColor vlastností a ForegroundColor do proměnných. Potom změní barvu popředí na každou barvu ve výčtu ConsoleColor s výjimkou barvy, která odpovídá aktuálnímu pozadí, a změní barvu pozadí na každou barvu ve výčtu ConsoleColor s výjimkou barvy, která odpovídá aktuálnímu popředí. (Pokud je barva popředí stejná jako barva pozadí, text není viditelný.) Nakonec zavolá metodu ResetColor obnovení původních barev konzoly.
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...
Poznámky
Změna BackgroundColor vlastnosti ovlivní pouze výstup, který se po změně barvy pozadí zapíše do buněk jednotlivých znaků. Pokud chcete změnit barvu pozadí okna konzoly jako celku, nastavte BackgroundColor vlastnost a zavolejte metodu Clear . V následujícím příkladu je uvedena ukázka.
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
Operace get pro aplikaci se systémem Windows, ve které konzola neexistuje, vrátí ConsoleColor.Black.
Systémy Unix neposkytují žádný obecný mechanismus pro načtení aktuálních barev konzoly. Z tohoto důvodu vrátí hodnotu(ConsoleColor)-1
, BackgroundColor dokud se explicitně nenastaví (pomocí setteru).