Bonjour à tous

je voudrais pouvoir déplacer une figure à l'aide de la souris sans effacer les autres figures dans un panel.

j'ai essayé l'évènement "Paint" du panel pour redéssiner les autres figures mais celui ci réagi à chaque mouvement de la souris pour chaque déplacement d'un pixel à l'autre et donc le scintillement est vraiment visible.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
class GrphPannel :System.Windows.Forms.Panel
    {
 
        //je mémorise mes lignes dans : lines
        public List<GRcontrol.Line> lines = new List<GRcontrol.Line>();
        public Point start, end;
        public bool draw = false;
 
 
 
 
 
        protected override void OnPaint(PaintEventArgs e)
        {
 
 
 
            base.OnPaint(e);
            Graphics g = e.Graphics;
 
            foreach (GRcontrol.Line line in this.lines)// redessiner les lignes 
            {
                g.DrawLine(Pens.Blue, line.Start, line.End);
 
            }
 
            if (this.draw)//si je dessine une nouvelle ligne c'est en rouge
            {
                g.DrawLine(Pens.Red, this.start, this.end);
 
            }
 
 
 
 //c'est trops long.....je ne doit pas redéssiner sauf si je découvre une partie de mes dessins
 
 
        }
    }
dans le cas d'un grand nombre de figures sur l'écran je crois qu'il faut copier l'image et puis la redéssine

C# permet l'utilisation des pointeurs (pour plus de rapidité) comment faut t'il faire une chose comme : GETIMAGE.....PUTIMAGE ??