g=panel.CreateGraphics();
g.drawrectangle(参数);

解决方案 »

  1.   

    我想你是说这样吧:
    protected override void OnPaint(PaintEventArgs e)
    {

           Graphics g=e.Graphics ;
           g.FillRectangle (new SolidBrush (Color.Red ),a,b,22,22);
    }
    可这样只能画出一个图,当再点击panel的时候,就不好用了,我想在这两句中间在加一句:
    panel1_MouseDown();
    可加上这句就有错误,重载“panel1_MouseDown”方法未获取“0”参数
      

  2.   

    Graphics g=e.Graphics ;
    private int i;
    private int j;
    private bool bz=false;
    在mousedown中
    i=e.X;j=e.Y;
    bz=true;
    在mouseup中
    if (BZ)
    {
    panel1.CreateGraphics(new SolidBrush (Color.Red ),e.X,e.Y,i,j);
    bz=false;
    }
    就ok了!
      

  3.   

    panel1.CreateGraphics(new SolidBrush (Color.Red ),e.X,e.Y,i,j);

    panel1.CreateGraphics(new SolidBrush (Color.Red ),e.X,e.Y,i-e.X,j-e.Y);
      

  4.   

    谢谢:zhangfqq(操在墙头)
    请问:
    Graphics g=e.Graphics ;
    private int i;
    private int j;
    在那定义呀,应该是全局变量把,不让能在mousedown中应用吗,可如果是全局变量,那
    Graphics g=e.Graphics ;中的e又是从那来的呢?
      

  5.   

    private void panel1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
    {
    //将代码写在这里,e指的是System.Windows.Forms.PaintEventArgs变量,它是提供绘制事件的...

    }
      

  6.   

    private ArrayList p;
    private void panel1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    {
                      a=e.X-25;
    b=e.Y-25;Point point=new Point();
    point.X=a;
    point.Y=b;
    }
      

  7.   

    private ArrayList p;
    private void panel1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    a=e.X-25;
    b=e.Y-25;Point point=new Point();
    point.X=a;
    point.Y=b;
    p.Add(point);
    }protected override void OnPaint(PaintEventArgs e)
    {

     Graphics g=e.Graphics ;
    Point point =new Point();
    for(int i=0;i<p.Count;i++)
    {
    point=(Point)P[i];
      g.FillRectangle (new SolidBrush (Color.Red ),point.X,point.Y,22,22);
    }}
      

  8.   

    谢谢:wzs_wzs123(蓝天百云) 
    可我试了不行呀,错误提示为:
    未处理的“System.NullReferenceException”类型的异常出现在 system.windows.forms.dll 中其他信息:未将对象引用设置到对象的实例。