Il s'agit plutôt d'une question de méthodologie. Je sais comment créer un contrôle qui se met à l'échelle de tous les côtés, mais je ne comprends pas pourquoi ce code ne fonctionne pas de manière fluide sans problèmes de redessin (sautillement). Il met le panneau à l'échelle à partir du haut uniquement, mais il se déstabilise au cours du processus. Que me manque-t-il ?
public partial class Form1 : Form
{
Point MousePoint = new Point();
public Form1()
{
InitializeComponent();
panel1.MouseMove += Panel1_MouseMove;
panel1.MouseDown += Panel1_MouseDown;
panel1.Width = 100;
panel1.Height = 100;
}
private void Panel1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
MousePoint = e.Location;
}
}
private void Panel1_MouseMove(object sender, MouseEventArgs e)
{
if(e.Button == MouseButtons.Left)
{
panel1.Top = e.Location.Y + panel1.Location.Y - MousePoint.Y;
panel1.Height = panel1.Height - e.Y + MousePoint.Y;
}
}
}