C # consola redimensionarea (modificarea dimensiunii ferestrei consolă), nagits - s Blog

Probabil că nu este o veste pentru cei care au experimentat acest lucru, că programul pentru a modifica dimensiunea ferestrei consola la fel ca 2x2 nu va funcționa.

Ce dezamăgire, atunci când nu se poate scrie «Console.Height = 600" . Și Console.SetWindowSize nu doare ceva ajută. -), da, dar, destul de pe C # programatori ar-al naibii de grăsime și leneș. Astăzi, aici mă confrunt cu această problemkoy. Acum, doar să vă spun cum poate fi rezolvată.

Este posibil să fi îndreptat atenția către funcția Console.SetWindowSize. Și, probabil, ea a căzut în ArgumentOutOfRangeException. Să ne uităm la ceea ce am scris despre acest MSDN:

Lățimea valorii parametrului sau înălțimea este mai mică sau egală cu zero.

Lățimea de valoare a parametrului sau înălțimea mai mare decât lățimea sau înălțimea ferestrei cât posibil, la rezoluția și fontul curent consola.

Al treilea motiv, și de obicei o problemă.

Pentru soluții trebuie să folosim WinAPI, care într-adevăr este tot uitat ca curentul sa mutat la C #.

Funcția necesară

Se află în user32.dll, care trebuie să fie importate în aplicația noastră consolă. Este simplu:

Primul parametru la hWnd (fereastra mâner dvs.) obținute din

Al doilea parametru este responsabil pentru poziția de axa z ferestrei (normal sau mai presus de toate, de exemplu)

După cum puteți specifica unul din trei pentru acest parametru

Deci, mergeți mai departe. Specifică noua poziție a ferestrei variabile X, Y și dimensiunile folosind cx variabilă, cy.

Ultimul parametru ne-am stabilit steaguri pentru fereastra, îi voi aduce, dar nu voi descrie aspectul pe MSDN.

Întrebați-i poate dori acest lucru

Aici este codul de lucru:

Ei bine, după ce, în cazul în care dintr-o dată este util pentru a minimiza sau maximiza funcția fereastră de import de același user32.dll:

Codul de mai jos se va desfășura o fereastră de consolă la jumătate din ecranul (mare pentru consola - nu poți):