Samozřejmě, že to jde. PictureBox (a většina ostatních komponent) má události MouseDown a MouseUp, které se spustí při stisknutí, resp. puštění tlačítka myši. Souřadnice máte v e.X a e.Y. Dále je zde událost MouseMove, která se spouští co nejčastěji, pokud myší hýbete. Pokud je v e.Button hodnota Left (ve všech 3 událostech), znamená to, že se akce děje se stisknutým levým tlačítkem myši, což potřebujeme. V MouseDown si tedy uložte pozici myši v rámci kostičky puzzle, v MouseMove překreslujte kostičku puzzle tak, aby uložené pozice myši v rámci kostičky souhlasily a v MouseUp dorovnejte kostičku tak, aby se přichytila k ostatním již poskládaným. Pokud to nepůjde, ať skočí na původní pozici.
|