.NET 4.x Отображение линии при перетягивании - C#

Узнай цену своей работы

Формулировка задачи:

Рисую на панели, но возникла проблема, когда тяну линию ее не видно, если убрать Invalidate() , то видны все варианты, пока я не отпустил мышь. Как сделать так чтоб линию все таки было видно при задании?
        Point ptBeg;
        Point ptEnd;
        Point? ptStartPoint = null;
 
        protected override void OnMouseDown(MouseEventArgs e)
        {
            if (CWindow.bPolygonFlag == true)            
                if(e.Button == MouseButtons.Left)
                {
                    ptBeg = new Point(e.X, e.Y);
                    bBlocking = true;
 
                    if (ptStartPoint == null)
                        ptStartPoint = ptBeg;                    
                }
            
        }
 
        protected override void OnMouseMove(MouseEventArgs e)
        {
            if (CWindow.bPolygonFlag == true)
                if(bBlocking)
                    if (e.Button == MouseButtons.Left)
                    {
                        Graphics grfx = CreateGraphics();
                        ptEnd = new Point(e.X, e.Y);
                        Pen pen = new Pen(ForeColor);
                        grfx.DrawLine(pen, ptBeg.X, ptBeg.Y, ptEnd.X, ptEnd.Y);
                        grfx.Dispose();
                        Invalidate();
 
                        if (ptEnd == ptStartPoint.Value)                        
                            ptStartPoint = null;                        
                    }
        }

Решение задачи: «.NET 4.x Отображение линии при перетягивании»

textual
Листинг программы
            Line l1 = new Line(10, 10, 100, 100);
            Line l2 = new Line(256, 128, 64, 32);
 
            GrObjectController gCt = new GrObjectController(this);
 
            gCt.AddGrObject(l1);
            gCt.AddGrObject(l2);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.2 из 5
Похожие ответы