把graphics的实例传给需要画图的方法,在graphics上画

解决方案 »

  1.   

    任何地方可以画
    Graphics g = this.CreateGraphics();
    g.DrawLine()如果是图片
    Bitmap bmp = new Bitmap();
    Graphics g = Graphics.FromImage(bmp);
      

  2.   

    private  bool  _drawing=false;  
    private  System.Drawing.Point  _pStart;  
    private  System.Drawing.Point  _pEnd;  
    //...  
    private  void  Form2_MouseDown(object  sender,  System.Windows.Forms.MouseEventArgs  e)  
    {  
    _drawing=!_drawing;  
    _pStart=new  Point(e.X,e.Y);  
    }  
     
    private  void  Form2_MouseMove(object  sender,  System.Windows.Forms.MouseEventArgs  e)  
    {  
    if(!_drawing)  
    return;  
     
    Graphics  g=this.CreateGraphics();  
    g.DrawLine(new  Pen(this.BackColor,1),_pStart,_pEnd);  
    _pEnd=new  Point(e.X,e.Y);  
    g.DrawLine(new  Pen(Color.Black,1),_pStart,_pEnd);  
    }