Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)
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ý
Redaktor
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ý
Redaktor
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
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.