C # конзола преоразмеряване (промяна на размера на прозореца на конзолата), nagits - с блог

Вероятно не новина за тези, които са имали това, че програмата за промяна на размера на прозореца на конзолата, точно както 2x2 няма да работи.

Какво разочарование, когато не може да пише «Console.Height = 600". И Console.SetWindowSize не боли нещо помага. -), да, но доста по C # програмисти ще проклет мазнини и мързелив. Днес, тук съм изправен пред този problemkoy. Сега просто ви кажа как тя може да бъде решен.

Може да сте се обърна вниманието си към функция Console.SetWindowSize. И най-вероятно тя изпадна в ArgumentOutOfRangeException. Нека да разгледаме това, което пише за този MSDN:

Ширината на стойността на параметъра или височина е по-малка или равна на нула.

Ширината на стойността на параметъра или височината по-голяма от ширината или височината на прозореца, колкото е възможно по текущата резолюция и шрифт конзола.

Третата причина, и обикновено е проблем.

За решения, трябва да използваме WinAPI, което наистина е забравено като токът се премества в C #.

Необходимата функция

Той намира в user32.dll, които трябва да бъдат внесени в нашата конзола приложение. Тя е проста:

Първият параметър на hWnd (прозореца се справят си), придобит от

Вторият параметър е отговорен за позицията на прозореца Z-ос (нормална или преди всичко, например)

Както можете да зададете един от трите за този параметър

Така че, давай напред. Задава новата позиция на прозорците променливи X и Y, и размерите, използвайки променливо влачене.

Последният параметър ние се знамена на прозореца, ще ги извадя, но аз няма да се опише външния вид на MSDN.

Помолете ги да харесва толкова

Тук е работещ код:

Е, след това, ако внезапно е полезно да се сведе до минимум или максимизиране прозоречната функция за внос на един и същи user32.dll:

Следният код ще разположи в конзолен прозорец на половината на екрана (чудесно за конзола - не можеш):