我想在winform程序中设置是否显示背景图片,
在显示的代码中
this.BackgroudImage = Image.FormFile(oldstr);
在隐藏的代码中
oldstr=this.BackgroudImage.Tostring();
this.BackgroudImage=null;
为什么不行,oldstr=this.BackgroudImage.Tostring();后,为什么oldstr变为System.Draming.Bitmap;
请问应该如何实现?

解决方案 »

  1.   

    oldstr=this.BackgroudImage.Tostring();后,为什么oldstr变为System.Draming.Bitmapthis.BackgroudImage 是System.Draming.Bitmap对象
    TOSTRING后,显示的是他的类名
      

  2.   

    那你期望BackgroudImage.ToString();会得到什么结果?nK的字符串?
    ToString();主要的作用是查看调试信息,可没有FromString()这样的方法,不要误解参考如下代码
    Image backImage; 
    private void button1_Click(object sender, EventArgs e)
    {
        if (backImage == null)
            backImage = Image.FromFile(@"c:\temp\o.bmp");
         BackgroundImage = backImage;
    }private void button2_Click(object sender, EventArgs e)
    {
        BackgroundImage = null;
    }
      

  3.   

    我的意思是,在隐藏中先把BackgroundImage保存起来,因为我在显示中不能预先知道图片的路径,这两个按钮控制的不止一个背景。
      

  4.   

    Image oldstr=this.BackgroudImage; 
    this.BackgroudImage=null; 这样就可以了!
      

  5.   

    在隐藏中先把BackgroundImage保存起来
    ---------------------------------------------
    你不是有个oldstr嘛,把这个东西保存下来就行了啊,或者直接存Image的对象啊
      

  6.   

    image是抽象类吧,不能直接创建对象吧