在网上查了当放到Form_paint事件下绘线,最小化窗口那条线仍在.....但我不想放到那里面,,还有其他的办法吗???

解决方案 »

  1.   

    尝试在onpaint事件里做一下 
      

  2.   

    放在paint事件里绘制是最好的,可以用双缓冲,先绘制到内存,在输出到PictureBox如果你实在不想在这里绘制, 就先绘制到Bitmap里,然后把这个Bitmap指定给PictureBox的Image属性
      

  3.   

                Graphics g = this.CreateGraphics();
                
                Bitmap bit = new Bitmap(840, 680);
                Graphics gr = Graphics.FromImage(bit);
               
                Pen JingJie = new Pen(Color.Red, 2);
                gr.DrawCurve(JingJie, cardA.ToArray());
                
                g.DrawImage(bit,new Point(100,100));这段代码放paint事件里可用,,若放load里就不可用...??
      

  4.   

    你在form上拖一个PicutureBox
    按你上面的代码绘制完了后 , PictureBox1.Image = bit;
      

  5.   

    我这个项目是获取温度之后,描点绘图,,,
    因为我在Paint事件里绘制的是背景网格.
    就不想把这绘制温度曲线还放进去,,这样每绘制一个点就调用paint事件
    界面就不停的闪烁.我现在把这些绘图的点放到了一个方法里面.
    但一最小化窗口,或被遮盖,绘制的线就不见了.
      

  6.   

    闪烁问题用双缓冲解决另外绘制背景网格 和绘制实时采集数据点的动作不需要分离
    这么点数据量对计算机来说是小case