Diskuze: Win 7 problem
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Tvůrce
Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Nemáš na tom počítači menší displej? Možná jsi form přetáhl moc doprava nebo dolů na jiném počítači, ty souřadnice se ukládají.
tak jsem na to přišel, souřadnice jsem nastavil aby se při ukončení programu uložily do souboru, a při spuštění se načetly, ale z nevysvětlitelného důvody mi to místo souřadnic např. 158x160 nastavilo obě na -32000
To vypadá jako bys to ukládal do nějakého malého datového typu, který přetekl. Int by měl být ok.
Podobný problém jsem měl i já, akorát to bylo tím že jsem měl v jazyce C fopen("soubor.txt","a+"); takže se mi ten texťák nepřepisoval ale nahrávali se tam pořád nové hodnoty a taky to dělalo bordel
Tak jsem ten program ošetřil tak, že pokud by náhodou souřadnice byly menší než nula tak se vynulují, doufám že teď už se to nestane
Možná je to tím, že místo znaku "×" (křížek) používáš znak "x" a parser se snaží to číslo přečíst jako hexadecimální.
Například takto:
int x = int.Parse(X);
int y = int.Parse(Y);
if ((x >= Screen.PrimaryScreen.Bounds.Width - 5) || (x < 0 - this.Width + 5)) x = Screen.PrimaryScreen.Bounds.Width / 2;
if ((y >= Screen.PrimaryScreen.Bounds.Height - 5) || (y < 0 - this.Height + 5)) y = Screen.PrimaryScreen.Bounds.Height / 2;
this.Location = new Point(x, y);
Kontroluje to okraje monitoru. 5ka je vlastně tolerance, kolik pixelů minimálně musí vyčuhovat.
Akorát nevím, jak se to bude chovat při více monitorech. Například když aplikaci budu mít na druhém a ten pak odpojím.
já jsem se s tím nepáral zbytečně složitě, prostě jsem souřadnice rozdělil na dva řádky
Vím že to neni nejlepší řešení, ale je nejjednodušší
Zobrazeno 11 zpráv z 11.