[GDI] Creare una forma custom draggabile in Windows Forms

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.

Comments have been closed on this topic.