(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Console.WindowLeft-Eigenschaft

Ruft die am weitesten links stehende Position des Konsolenfensterbereich im Verhältnis zum Bildschirmpuffer ab oder legt diese fest.

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

public static int WindowLeft { get; set; }

Eigenschaftswert

Typ: System.Int32
Die am weitesten links stehende Konsolenfensterposition in Spalten.

AusnahmeBedingung
ArgumentOutOfRangeException

Der in einem Set-Vorgang zuzuweisende Wert ist kleiner als 0 (null).

- oder -

Als Ergebnis der Zuweisung würde WindowLeft plus WindowWidthBufferWidth überschreiten.

IOException

Fehler beim Lesen oder Schreiben von Informationen.

Die Konsole stellt ein rechteckiges Fenster in einen größeren rechteckigen Pufferbereich dar. Sowohl das Fenster als auch der Puffer werden vertikal durch ihre Anzahl von Zeilen gemessen und horizontal durch ihre Anzahl von Spalten. Die Abmessungen des Pufferbereichs werden durch die BufferHeight-Eigenschaft und die BufferWidth-Eigenschaft definiert. Die Abmessungen des Konsolenbereichs werden durch die WindowHeight-Eigenschaft und die WindowWidth-Eigenschaft definiert. Die WindowLeft-Eigenschaft bestimmt, welche Spalte des Pufferbereichs in der ersten Spalte des Konsolenfensters angezeigt werden soll. Der Wert der WindowLeft-Eigenschaft kann zwischen 0 und BufferWidth liegen. - WindowWidth . Der Versuch, auf einen Wert außerhalb eines Bereichs festzulegen, löst eine ArgumentOutOfRangeException aus.

Wenn ein Konsolenfenster erstmals geöffnet wird, ist der Standardwert der WindowLeft-Eigenschaft 0 (null), die angibt, dass die erste von der Konsole angezeigte Spalte der ersten Spalte (der Spalte an Position null) im Pufferbereich entspricht. Die Standardbreite des Konsolenfensters und des Pufferbereichs ist 80 Spalten. Dies bedeutet, dass die WindowLeft-Eigenschaft nur geändert werden kann, wenn das Konsolenfenster schmaler gemacht oder der Pufferbereich wird breiter gemacht wird.

Beachten Sie, dass der Wert der WindowLeft-Eigenschaft automatisch angepasst wird, wenn die Breite des Pufferbereichs die Breite des Konsolenfensters überschreitet und der Benutzer mit der horizontalen Bildlaufleiste die Beziehung des Fensters zum Pufferbereich definiert.

Im folgenden Beispiel wird ein 80-Spalten-Konsolenfenster geöffnet und ein Pufferbereich, der 120 Spalten breit ist, definiert. Informationen zu Fenster- und Puffergröße werden angezeigt. Anschließend wird gewartet, bis der Benutzer entweder die NACH-LINKS-Taste oder die NACH-RECHTS-Taste drückt. Im ersten Fall dekrementiert es den Wert der WindowLeft-Eigenschaft um eins, wenn das Ergebnis ein gültiger Wert ist. Im letzteren Fall inkrementiert es den Wert der WindowLeft-Eigenschaft um eins, wenn das Ergebnis ein gültiger Wert ist. Beachten Sie, dass im Beispiel keine ArgumentOutOfRangeException behandelt werden muss, da überprüft wird, dass der Wert, der der WindowLeft-Eigenschaft zugewiesen werden soll, nicht negativ ist und nicht bewirkt, dass die Summe der WindowLeft-Eigenschaft und der WindowWidth-Eigenschaft den BufferWidth-Eigenschaftswert überschreitet.


using System;

public class Example
{
   public static void Main()
   {
      ConsoleKeyInfo key;
      bool moved = false;

      Console.BufferWidth = 120;
      Console.Clear();

      ShowConsoleStatistics();
      do 
      {
         key = Console.ReadKey(true);
         if (key.Key == ConsoleKey.LeftArrow)
         {
            int pos = Console.WindowLeft - 1;
            if (pos >= 0 && pos + Console.WindowWidth <= Console.BufferWidth)
            { 
               Console.WindowLeft = pos;
               moved = true;
            }       
         } 
         else if (key.Key == ConsoleKey.RightArrow)
         {
            int pos = Console.WindowLeft + 1;
            if (pos + Console.WindowWidth <= Console.BufferWidth)
            { 
               Console.WindowLeft = pos;
               moved = true;
            }
         }
         if (moved)
         { 
            ShowConsoleStatistics(); 
            moved = false;
         }   
         Console.WriteLine();
      } while (true);
   }

   private static void ShowConsoleStatistics()
   {
      Console.WriteLine("Console statistics:");
      Console.WriteLine("   Buffer: {0} x {1}", Console.BufferHeight, Console.BufferWidth);
      Console.WriteLine("   Window: {0} x {1}", Console.WindowHeight, Console.WindowWidth);
      Console.WriteLine("   Window starts at {0}.", Console.WindowLeft);
      Console.WriteLine("Press <- or -> to move window, Ctrl+C to exit.");
   }
}


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft