看了好多帖子,都说什么双缓冲的之类的,都用了,都不见效,大概天生愚笨不开窍,呵呵。不过我初学C#,有时候不知道大侠们说的那些都该添到哪里,请大家明示!
代码如下:
              Rectangle rect = e.ClipRectangle;
            currentContext = BufferedGraphicsManager.Current;
            myBuffer = currentContext.Allocate(e.Graphics, e.ClipRectangle);            Graphics g = myBuffer.Graphics;
            g.SmoothingMode = SmoothingMode.HighQuality;
            g.PixelOffsetMode = PixelOffsetMode.HighSpeed;
            g.Clear(Color.White);                        if (m_draw == true)
                g.DrawLine(pen, cur_X, cur_Y, mov_X, mov_Y);            if (com_count != 0)
            {
                for (int i = 1; i <= ap_count; i++)         //遍历ap所有的连接
                {
                  g.DrawLine(pen, ap[i].getOx() + w1 / 2, ap[i].getOy() + h1 / 2, ap[int.Parse(s.Substring(2))].getOx() + w2 / 2, ap[int.Parse(s.Substring(2))].getOy() + h2 / 2);
              }
            }            
            myBuffer.Render(e.Graphics);
            g.Dispose();
            myBuffer.Dispose();//释放资源