24

I am trying to set the size of the Console Window in a c# console application. I get an ArgumentOutOfRangeException with this message:

The value must be less than the console's current maximum window size of 41 in that dimension. Note that this value depends on screen resolution and the console font.

I am using this to set it:

Console.WindowHeight = 480;

How do you set the Console window's size properly?

2
  • 1
    Console height is specified in rows (lines), not pixels. Commented Feb 26, 2013 at 21:24
  • That was the problem. If you post that as an answer I'll accept it.
    – msbg
    Commented Feb 26, 2013 at 21:27

4 Answers 4

50

From MSDN of Console.WindowHeight property:

The height of the console window measured in rows.

As you can see, these are not pixels. Just remember, these values can change depending on your screen resolution and the console font. You can find maximum height and width values with Console.LargestWindowWidth and Console.LargestWindowHeight properties.

Console.WriteLine(Console.LargestWindowHeight);
Console.WriteLine(Console.LargestWindowWidth);
4
  • 2
    Just noticed this more detailed answer. Changed it to the accepted one
    – msbg
    Commented Mar 27, 2014 at 22:02
  • On my PC those properties are way out of range (x=1904 ??? / ymax=62) Any idea ? Commented May 21, 2024 at 16:03
  • @MarioFavere Because these values are based on the current font and screen resolution. Commented May 21, 2024 at 18:43
  • I do not have 1904 columns on the screen ;-) Commented May 23, 2024 at 7:18
1

Console height is specified in rows (lines), not pixels.

http://msdn.microsoft.com/en-us/library/system.console.windowheight.aspx

0

Microsoft recently published some information around this, see:

  1. Understanding Windows Console Host Settings

Try this in powershell:

$windowSize = $(get-item hkcu:\console).GetValue("WindowSize")
$windowHeight = $windowSize -shr 16
$windowWidth = ($windowSize -shl 16) -shr 16
-4

you can set a windowHeight less than 62, if u try exceed this value error throw the 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].

2
  • 4
    U can with u'r font and display settings. The rest of us are better off checking the LargestWindowHeight property.
    – HABO
    Commented Feb 26, 2013 at 21:48
  • 5
    As Habo says; this is only the max value for you. The actual maximum value will depend on every person's screen size. Not just the programmer's screen size/res - but the end-user's. Also, you don't even explain at all why it has to be less than 62; What does "62" mean in this context? (I know the answer - but your answer does not say) Commented Mar 3, 2013 at 6:49

Not the answer you're looking for? Browse other questions tagged or ask your own question.