在C#添加图片而又不想引用图片加载路径,最好的方式是在Resources中添加资源图片,并结合PictureBox进行引用,这样生成的执行程序可以在任何可运行平台引用所加载的图片,而不受制于本地图片存储路径。
具体方法如下:
运行软件:VS2013
选用加载图片:logo_0_0.png
1.打开一个C#WIN应用程序工程,在右侧资源管理器中找到Properties下面的Resources.resx,
双击打开Resources.resx,在出现的界面中选择添加资源--添加现有文件,选择想添加的图片logo_0_0.png,
添加结果如下:
2.在上位机设计界面添加picturebox控件:
3.在代码中引用图片,需要注意的是一般是resources.xx图片名,但具体到实际情况中是一定要注意这个强类型资源是在什么类下派生的,比如我的是:
SerialportSample.Properties.Resources.logo_0_0
因此结合pictureBox引用就是:
public SerialportSampleForm()
{
InitializeComponent();
Image image = SerialportSample.Properties.Resources.logo_0_0;
pictureBox1.Image = image;
}
这样运行后的上位机程序就会出现刚才加载的图片,而且不会因为本地如片路径变化而产生问题,即在任意windows平台都可以执行该exe程序!
具体方法如下:
运行软件:VS2013
选用加载图片:logo_0_0.png
1.打开一个C#WIN应用程序工程,在右侧资源管理器中找到Properties下面的Resources.resx,
双击打开Resources.resx,在出现的界面中选择添加资源--添加现有文件,选择想添加的图片logo_0_0.png,
添加结果如下:
2.在上位机设计界面添加picturebox控件:
3.在代码中引用图片,需要注意的是一般是resources.xx图片名,但具体到实际情况中是一定要注意这个强类型资源是在什么类下派生的,比如我的是:
SerialportSample.Properties.Resources.logo_0_0
因此结合pictureBox引用就是:
public SerialportSampleForm()
{
InitializeComponent();
Image image = SerialportSample.Properties.Resources.logo_0_0;
pictureBox1.Image = image;
}
这样运行后的上位机程序就会出现刚才加载的图片,而且不会因为本地如片路径变化而产生问题,即在任意windows平台都可以执行该exe程序!