2 votes

Taille de haut en bas

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;
        }
    }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X