2013-05-08 174 views
0

我犯了一个包含PictureBox一个自定义用户控件,这使得从一个资源文件夹中的PNG图像:应用程序无法找到资源文件在Visual Studio 2010设计

private void pictureBox1_Paint(object sender, PaintEventArgs e) 
{ 
    //Overlay with the shape of well 
    Image transparentImg = Image.FromFile("..\\..\\Resources\\reservoir_img.png"); 
    e.Graphics.DrawImage(transparentImg, new Point(0, 0)); 
} 

当我建立并运行应用程序的用户控制绘制方法呈现PNG就好(路径必须正确),但是当我在Visual Studio 2010中预览表单设计器时,它不会呈现。这只能说明例外:

FileNotFoundException

我可以开发和测试我的应用程序,但是当你只看到异常文本它是一种恼人的设计形式。

+1

你需要在运行时dinamically改变这种形象?如果不是,那么为什么不将它添加到resources.resx文件中并使用Properties.Settings.Default.NameOfYourImageResource? – Steve 2013-05-08 14:16:21

+1

路径不正确。它只适用于从调试/发布文件夹运行应用程序,但Visual Studio不在该文件夹中运行的情况。 – sgmoore 2013-05-08 14:17:53

+1

BTW。在绘画事件中加载图像可能不是一个好主意(除非您的图像不断变化) – sgmoore 2013-05-08 14:22:00

回答

0

解决方案是使用resources.resx文件:

e.Graphics.DrawImage(WindowsFormsApplication1.Properties.Resources.reservoir_img, new Point(0, 0)); 
相关问题