2013-02-26 2 views
15

Ich versuche, die Größe des Konsolenfensters in einer C# -Konsolenanwendung festzulegen. Ich erhalte ein ArgumentOutOfRangeException mit dieser Nachricht:Größe des Konsolenfensters ändern wirft ArgumentOutOfRangeException

Der Wert muss kleiner sein als die aktuelle maximale Fenstergröße der Konsole von 41 in dieser Dimension. Beachten Sie, dass dieser Wert von der Bildschirmauflösung und der Konsolenschriftart abhängt.

Ich verwende diese es zu setzen:

Console.WindowHeight = 480; 

Wie beurteilen Sie die Konsole Fenstergröße richtig eingestellt?

+1

Konsolenhöhe wird in den Zeilen (Linien), keine Pixel. –

+0

Das war das Problem. Wenn du das als Antwort postest, akzeptiere ich es. – msbg

+0

Danke - gepostet! –

Antwort

33

Von MSDN von Console.WindowHeight Eigenschaft:

Die Höhe der Fenster Konsole in Reihen gemessen.

Wie Sie sehen können, sind dies keine Pixel. Denken Sie daran, dass sich diese Werte je nach Bildschirmauflösung und Konsolenschrift ändern können. Sie können maximal Höhe und Breite Werte mit Console.LargestWindowWidth und Console.LargestWindowHeight Eigenschaften finden.

+1

Gerade diese ausführlichere Antwort bemerkt. Es wurde in den akzeptierten geändert – msbg

-3

Sie können eine Fensterhöhe kleiner als 62, wenn Sie versuchen, diesen Wert zu überschreiten Fehler werfen Sie das System.

class Pro 
{ 
    public static void fun() 
    { 
     Console.WindowHeight = 61; 
     Console.WriteLine("Welcome to asp .net "); 
    } 


    static void Main(string[] args) 
    { 
     Pro.fun(); 

    } 


    // 
    // Summary: 
    //  Gets the largest possible number of console window rows, based on the current 
    //  font and screen resolution. 
    // 
    // Returns: 
    //  The height of the largest possible console window measured in rows. 
    public static int LargestWindowHeight { get; } 
    // 
    // Summary: 
    //  Gets the largest possible number of console window columns, based on the 
    //  current font and screen resolution. 
    // 
    // Returns: 
    //  The width of the largest possible console window measured in columns. 
    public static int LargestWindowWidth { get; } 

    The above information catch Console[from metadata]. 
+3

_U_ kann mit _u'r_ Schriftart und Anzeigeeinstellungen. Der Rest von uns sollte besser die 'LargestWindowHeight'-Eigenschaft überprüfen. – HABO

+4

Wie Habo sagt; Dies ist nur der Maximalwert für * Sie *. Der tatsächliche Maximalwert hängt von der Bildschirmgröße jeder Person ab. Nicht nur die Bildschirmgröße/Auflösung des Programmierers - sondern die des Endnutzers. Außerdem erklärst du überhaupt nicht * warum * es muss weniger als 62 sein; Was bedeutet "62" in diesem Zusammenhang? (* Ich * kenne die Antwort - aber deine Antwort sagt nicht) –