protected override void MouseOver(object sender, MouseEvntArgs args) { if (contenitore.Superficie.Contains(args.Posizione.X, args.Posizione.Y)) { int X = args.Posizione.X; int Y = args.Posizione.Y; if (coordinatePixel2Casella(ref X, ref Y) && Tile.id2Tile(_idMouseOver = (X + Y * Tile.Colonne)).Esistente) { Tile.id2nm(_idMouseOver, out X, out Y); _SelezPixCoord.X = (int) (X*_latoCasella + contenitore.Superficie.Location.X + offset.X); _SelezPixCoord.Y = (int) (Y*_latoCasella + contenitore.Superficie.Location.Y + offset.Y); return; } } _idMouseOver = -1; // mouse fuori dal tabellone o mouse su casella Vuoto }
protected override void ClickSinistro(object sender, MouseEvntArgs args) { UltimoClick = TipoEventoMouse.ClkSin; if (_idMouseOver >= 0) // se il mouse sta sopra una casella valida prendiamo { _IdSelezione = _idMouseOver; } else _IdSelezione = -1; // sennò annulliamo la selezione attuale }