IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Problém s nulovou souřadnicí aplikace.

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Neaktivní uživatel:16.3.2014 19:24

Dobrý den, učím se tvořit Windows Forms aplikace a narazil jsem na problém který neumím vyřešit, proto bych prosil o pomoc:

Ve formuláři mám PictureBox, který zobrazuje nějaký obrázek, po kliknutí na něj se provede určitá akce podle místa kliknutí (příklad: na obrázku jsou dvě věci, při kliknutí na první se zobrazí zpráva, a při kliknutí na druhou se aplikace ukončí.) Problém řeším následovně:
(hodnoty mám zjištěné)

if (MousePosition.X > x1 && MousePosition.X < x2 && MousePosition.Y > y1 && MousePosition.Y < y2)
{

}

Zde je ovšem problém, že C# na rozdíl od jazyka GML bere nulovou souřadnici v levém horním rohu monitoru, ne aplikace. Napadlo mě pouze napevno nastavit Start position formuláře na screen center, to ovšem problém neřeší.
Řešením by (asi) bylo nastavit nulové souřadnice na levý horní roh aplikace, nicméně nevím jak to zapsat v kódu.

Budu vděčný za nějaký nápad, či lépe rovnou vyřešení problému, předem děkuji.

Matěj Štágl

Odpovědět
16.3.2014 19:24
Neaktivní uživatelský účet
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Jan Vargovský:16.3.2014 19:53
C# na rozdíl od jazyka GML bere nulovou souřadnici v levém horním rohu monitoru, ne aplikace

Tohle není pravda. Jen používáš blbou vlastnost. Když klikneš tak máš určitě v argumentu i na jaké místo jsi klikl.

 
Nahoru Odpovědět
16.3.2014 19:53
Avatar
Odpovídá na Neaktivní uživatel
Jakub Lásko[Saarix]:16.3.2014 19:54

Stačí k pozici přicíst pozici okna :-)

int x = this.Location.X + .....;
Editováno 16.3.2014 19:55
Nahoru Odpovědět
16.3.2014 19:54
Časem je vše možné.
Avatar
Odpovídá na Neaktivní uživatel
Jakub Lásko[Saarix]:16.3.2014 19:56

Nebo jak pako řekl, tak můžeš vzít pozici od sendera :-) ten díky MouseEventArgs poskytuje souřanice kde byla přesně myš při kliku.

Editováno 16.3.2014 19:56
Nahoru Odpovědět
16.3.2014 19:56
Časem je vše možné.
Avatar
Odpovídá na Jan Vargovský
Neaktivní uživatel:16.3.2014 20:30

Ano díky, funguje mi to. Někdy se zaseknu na opravdu blbém problému, každopádně vyřešeno. :)

Nahoru Odpovědět
16.3.2014 20:30
Neaktivní uživatelský účet
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Jan Vargovský:16.3.2014 20:52

Krokuju a koukám co mám k dispozici ne ? :)

 
Nahoru Odpovědět
16.3.2014 20:52
Avatar
Nahoru Odpovědět
16.3.2014 21:25
https://www.facebook.com/peasantsandcastles/
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.