bool c_sel; //Se è selezionato un controllo
bool ready; //Se il cursose si trova nell'area di ridimensionamento
bool resize; //Abilito il ridimensionamento
Control SelectedObject; //Oggetto selezionato
private void Form_MouseDown(object sender, MouseEventArgs e)
{
//Se e selezionato un oggetto
//Se e possibile ridimensionare l'oggetto
//Avvia il ridimensionamento
if (c_sel && ready) { resize = true; }
}
private void Form_MouseMove(object sender, MouseEventArgs e)
{
//Ridimensionare i controlli
if (c_sel)
{
if (e.X > ((Control)SelectedObject).Location.X - 5 && e.X < ((Control)SelectedObject).Location.X + 5 &&
e.Y > ((Control)SelectedObject).Location.Y-5 && e.Y < ((Control)SelectedObject).Location.Y+5)
{
Cursor = Cursors.SizeNWSE;
ready = true; //Abilito la possibilità di ridimensionare
}
else
{
Cursor = Cursors.Arrow;
ready = false; //disabilito la possibilità di ridimensionare
}
}
//Ridimensionamento
if (resize)
{
Cursor = Cursors.SizeNWSE;
((Control)SelectedObject).Width = e.X;
((Control)SelectedObject).Height = e.Y;
((Control)SelectedObject).Location = new Point(((Control)SelectedObject).Width, ((Control)SelectedObject).Height);
}
}
private void Form_MouseUp(object sender, MouseEventArgs e)
{
resize = false;
}