Keresés

Új hozzászólás Aktív témák

  • dqdb

    nagyúr

    válasz mdk01 #8912 üzenetére

    Rosszul közelíted meg a dolgokat.

    Konzolos alkalmazás háromféle módon indulhat el Windows alatt:
    1. egy másik konzolos alkalmazásból
    2. egy másik konzolos alkalmazásból kimenetet és esetleg bemenetet átirányítva
    3. nem konzolos alkalmazásból

    Az első esetben az alkalmazásod a hívó alkalmazás ablakát örökli meg az ott beállított mérettel, historyval és színekkel, ezt általában nem illik* felülbírálni kódból, mert te ott vendég vagy.

    A második esetben az előző annyival bővül, hogy a sima Console.WriteLine hívások a képernyőre ki sem kerülnek, szóval itt a hívó ablakának beállításait kódból nemcsak nem illik felülbírálni, de értelmetlen is. Ezt az esetet a Console.IsOutputRedirected propertyvel tudod érzékelni.

    A harmadik esetben a Windows megnézi, hogy az adott elérési úttal rendelkező alkalmazáshoz van-e beállítva alapértelmezett ablakméret/betűtípus/szín/stb. Ha igen, akkor azokkal indítja el az alkalmazásodat, egyébként a cmd.exe-hez tartozó alapbeállításokkal. Ekkor a kapott méreteket és egyéb beállításokat felül lehet bírálni kódból, de általában felesleges és nem szerencsés*, mert ezzel elveszed a felhasználó elől a saját igényeinek megfelelő beállítás alkalmazását. A legjobb megoldás vagy egy megfelelően felparaméterezett shortcut készítése, vagy futó alkalmazás mellett az ablakához tartozó menüben (fejléc bal oldalán lévő ikonra kattintva Defaults) átállítani, és onnantól kezdve az ott megadott értékekkel fog indulni az alkalmazás (egy adott konfigurációhoz egyszer kell beállítani VS-ből indítva, és onnantól kezdve mindig úgy fog elindulni).

    * ha az alkalmazásod sima szövegkiíratás helyett valami ncurses-szerű szöveges UI-jal rendelkezik, aminek például a historyban görgetés keresztbe tesz, akkor ott természetesen kódból mindig olyanra be kell állítani az ablakot, amilyenhez a UI tervezve van (de itt is érdemes úgy megoldani a dolgokat, ha lehetséges, hogy a felhasználó által beállított ablakmérethez igazodjon a felület, mint például a FAR Manager esetében)

  • joysefke

    veterán

    válasz mdk01 #8912 üzenetére

    A Console utility osztály szolgál erre. Ha maxra ki akarod húzni, akkor: Console.WindowWidth = Console.LargestWindowWidth;

    Még a szöveg színét is lehet állítani...

Új hozzászólás Aktív témák

Hirdetés