更改控制台窗口的大小会抛出ArgumentOutOfRangeException

时间:2013-02-26 21:23:10

标签: c# console size console-application

我正在尝试在c#控制台应用程序中设置控制台窗口的大小。我收到ArgumentOutOfRangeException这条消息:

  

该值必须小于控制台当前的最大窗口大小   这个维度中的41个。请注意,此值取决于屏幕   分辨率和控制台字体。

我用它来设置它:

Console.WindowHeight = 480;

如何正确设置控制台窗口的大小?

4 个答案:

答案 0 :(得分:40)

来自Console.WindowHeight属性的 MSDN

  

控制台窗口的高度以行为单位。

如您所见,这些不是像素。请记住,这些值可能会根据您的屏幕分辨率和控制台字体而改变。您可以使用Console.LargestWindowWidthConsole.LargestWindowHeight属性找到最大高度宽度值。

Console.WriteLine(Console.LargestWindowHeight);
Console.WriteLine(Console.LargestWindowWidth);

答案 1 :(得分:1)

控制台高度以行(行)指定,而不是像素。

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

答案 2 :(得分:0)

Microsoft最近发布了有关此信息,请参阅:

  1. Understanding Windows Console Host Settings

在powershell中尝试一下:

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

答案 3 :(得分:-4)

你可以设置一个小于62的windowHeight,如果你尝试超过这个值,则抛出系统错误。

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; }

以上信息捕获控制台[来自元数据]。