Mi ez a bug c# konzol alkalmazások esetében?
Linuxra készítek egy programot monoval, c#-ban.
Beleütköztem egy hibába amit nem tudok nagyon hová tenni.
Szóval a lényeg, hogy jó pár sor szöveget kiírok a konzolra, utána bekérek egy stringet.
És a probléma ott kezdődik, hogy ha átméretezem a terminált és lenyomom a backspace-t, ahelyett hogy törölne egy karaktert, ahelyett feljebb ugrik a kurzor a már meglévő szövegekhez, és onnan töröl egy karaktert.
Szemléltetés céljából.
for (int i = 0; i < 32; i++)
{
Console.WriteLine("fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
}
Console.ReadLine();
Átméretezem a konzolt egy nagyobb méretre, (úgy hogy konzol y tengelye legyen nagyobb) elkezdek beírni valamit,
lenyomom a backspace-t és felugrik pár sort (ez is változó hogy mennyit ugrik fel) és onnan törli a karaktert.
Úgy vettem észre, hogy a probléma akkor jön elő, amikor a konzolnak új mérete lesz, anélkül hogy a felhasználó entert nyomott volna elötte. Ha átméretezem a konzolt, nyomok egy entert, akkor már nem jön elő a probléma. Viszont ha újra átméretezem a konzolt, de nem nyomok entert akkor ugyan úgy elő jön a hiba.
Nem értem a problémát, még nem találkoztam ilyennel, van valami ötletetek? Windows-on nem tapasztaltam ilyen probléma.
Akkor most linuxon monodevelop-ot használod?
Igen az ilyen kicsit buggos, bár nekem ez még nem tünt fel, én is kipróbálom, csak hogy jól értem-e.
igen, a monodevelopot használom.
Szerintem sem a kóddal van a baj.
Próbáltam máshogyan kikerülni, pl. hogy ha felhasználó átméretezi a terminált, akkor rákényszerítjük hogy nyomjon egy entert-t, viszont gyakorlatban nem sikerült megvalósítanom. Egy timerrel próbálkoztam, ami folyamatosan figyelte hogy változott-e a terminál mérete, és ha igen akkor meghívott egy metódust ami egy enter lenyomását követelte a felhasználótól, viszont itt más gondok is felbukkantak, igaz ez már logikai hiba lesz a kódban, de ezt egyelőre még nem megoldani.
Kali linux alatt mi van alapértelmezett terminálnak beállítva?
Esetleg változtasd meg.
Nekem arch alatt tökéletesen működik, ez csak a terminál hibája.
Nekem a következő terminál van archon talán a debian,ubuntu alapú disztron is jobb lesz próbáld ki:
sudo apt install xfce4-terminal
Aztán pedig alapértelmezett terminálnak állítsd be.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!