更改一个panel的背景图片 我打算按照InitializeComponent里提供的方式:从资源获取图片后然后设置为背景图片
this.panel.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("panel.BackgroundImage")));
下面是我的的代码:
string fName = openFileDialog1.FileName;
System.Resources.ResourceManager rs= new System.Resources.ResourceManager();
this.panel2.BackgroundImage = ((System.Drawing.Image)(rs.GetObject(fName)));
但报错:
....Form1.cs(139): 不可访问“System.Resources.ResourceManager.ResourceManager()”,因为它受保护级别限制--------------------------------------------------------------------------
请问是该如何解决,给出代码。谢谢。在线等,解决问题立马结帖!

解决方案 »

  1.   

    this.panel2.BackgroundImage = System.Drawing.Image.FromFile(fName);  
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 最新版本:20070212http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  2.   

    你用错了
    System.Resources.ResourceManager rs= new System.Resources.ResourceManager()这个构造函数是需要参数的,无参的这个不能直接被实例化.
      

  3.   

    sunrobust(咸鱼) 
    你用错了
    System.Resources.ResourceManager rs= new System.Resources.ResourceManager()这个构造函数是需要参数的,无参的这个不能直接被实例化.那应该怎么写呢
      

  4.   

    注意:ResourceManager rm = new ResourceManager ( " 程序级名.资源文件名 " , Assembly.GetExecutingAssembly ( ) ) ;
      

  5.   

    namespace screen_saver
    {
    public class Form1 : System.Windows.Forms.Form
    {
    private System.Windows.Forms.ColorDialog colorDialog1;
                      ............
    public Form1()
    {
    InitializeComponent();
    } protected override void Dispose( bool disposing )
    {
    if( disposing )
    {
    if (components != null) 
    {
    components.Dispose();
    }
    }
    base.Dispose( disposing );
    } private void InitializeComponent()
    {} [STAThread]
    static void Main() 
    {
    Application.Run(new Form1());
    } private void button2_Click(object sender, System.EventArgs e)
    {
    openFileDialog1.Filter = "BMP文件|*.bmp|JPG文件|*.jpg|GIF文件|*.Gif";//
    openFileDialog1.InitialDirectory = "d:\\";
    openFileDialog1.ShowDialog();
    openFileDialog1.Multiselect = false;
    openFileDialog1.RestoreDirectory = false;
    openFileDialog1.ShowHelp = true;
    string fName = openFileDialog1.FileName; ResourceManager rm = new ResourceManager ( "应该怎么写呢,谢谢" , Assembly.GetExecutingAssembly ( ) );
    this.panel2.BackgroundImage = ((System.Drawing.Image)(rs.GetObject(fName)));
    }
    }
    }
      

  6.   

    ResourceManager 是用来访问资源文件的你现在是使用外部文件,只能这样用this.panel2.BackgroundImage = System.Drawing.Image.FromFile(fName);