private Graphics mg;
     private void button1_Click(object sender, EventArgs e)
        {
            Rectangle rect = new Rectangle(0, 0, 80, 80);
            SolidBrush brush = new SolidBrush(Color.Black);
            mg.DrawImage(Image.FromFile("./x.gif"), rect);
        }
结果报错~~鼠标悬停在private Graphics mg;的mg上时,显示“从未对字段AA.Form1.mg"赋值,字段将一直保持其默认值null

解决方案 »

  1.   

         private Graphics mg;     private void button1_Click(object sender, EventArgs e)
            {
                mg=new Graphics();
                Rectangle rect = new Rectangle(0, 0, 80, 80);
                SolidBrush brush = new SolidBrush(Color.Black);
                mg.DrawImage(Image.FromFile("./x.gif"), rect);
            }
      

  2.   

    你光声明了一个Graphics类型的变量,但是没有实例化他,当然不能用了,Graphic类又不是静态类。
    这个看你要在什么上面画图了,Control类有一个CreateGraphics方法,所有继承于Control的类都继承了这个方法,如果要在窗体上画用this.CreateGraphics();如果要在button1上画用button1.CreateGraphics(),以此类推
      

  3.   

    3楼的说得对,直接用mg= this.CreatGraphics();就可以了