Mi è capitato di dover trovare il modo (stimolato dal mitico Licx) per spostare una form senza bordi e, questo è il risultato :
private Point diff;
public Form1()
{
InitializeComponent();
}
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
diff= new Point(-e.X, -e.Y);
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
Point mouse_loc = Control.MousePosition;
mouse_loc.Offset(diff.X, diff.Y);
this.Location = mouse_loc;
}
}
Con queste poche righe di codice si potrà spostare la form semplicemente premendo col mouse_sx su un punto qualsiasi di essa e trascinarla senza problemi!
Esiste anche la versione basata sulle API..ma è inutile usarla quando possiamo utilizzare codice managed...giusto Licx!?!?