Per chi usa (o ha usato) GDI+ sa che è piuttosto semplice maneggiare le classi che mette a disposizione per sviluppare applicazioni Windows Forms interattive, creando nuovi controlli che risolvono problemi a cui quelli standard non arrivano. In C++ era necessario scrivere parecchio codice per creare degli elementi "sensibili", che interagissero con il cursore del mouse. Grazie alla classe GraphicsPath invece diventa banale capire se un punto si trova o no all'interno di una figura composta, anche complessa. Infatti mette a disposizione il metodo GraphicsPath.IsVisible a cui passare un Point. E' quindi possibile creare qualsiasi forma trascinabile sulla form gestendo opportunamente gli eventi MouseDown, MouseMove e MouseUp.
Uno screenshot:
Niente di trascendentale :-), ma magari a qualcuno farà comodo.
Qui si può scaricare l'esempio.
Matteo Migliore.