我正在尝试在 C# 控制台应用程序中设置控制台窗口的大小。我收到
ArgumentOutOfRangeException
并显示以下消息:
该值必须小于控制台当前最大窗口大小 那个维度有41个。请注意,该值取决于屏幕 分辨率和控制台字体。
我用这个来设置它:
Console.WindowHeight = 480;
如何正确设置控制台窗口的大小?
属性的MSDN:
控制台窗口的高度(以行为单位)。
如您所见,这些不是像素。请记住,这些值可能会根据您的屏幕分辨率和控制台字体而变化。您可以使用 Console.LargestWindowWidth
和
Console.LargestWindowHeight
属性找到最大 height和width 值。
Console.WriteLine(Console.LargestWindowHeight);
Console.WriteLine(Console.LargestWindowWidth);
控制台高度以行(行)为单位指定,而不是像素。
http://msdn.microsoft.com/en-us/library/system.console.windowheight.aspx
微软最近发布了一些与此相关的信息,请参阅:
在 powershell 中尝试一下:
$windowSize = $(get-item hkcu:\console).GetValue("WindowSize")
$windowHeight = $windowSize -shr 16
$windowWidth = ($windowSize -shl 16) -shr 16
当我将窗口宽度设置为 130 时,并且当我单击控制台应用程序中的最大化按钮时,控制台应用程序中的控制台窗口宽度不会改变。 有人可以检查并确认吗? if (Console.WindowWidth == Console.LargestWindowWidth || Console.WindowWidth == Console.LargestWindowHeight) {
Console.WindowWidth = 130;
Console.WindowHeight = 30;
}
你可以设置一个小于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; }
上述信息捕获控制台[来自元数据]。