C# 要用相对路径调用图片怎么解决?

zoelian 2010-04-18 08:33:35
我要在C#程序中调用图片,但又想使用相对路径调用。于是我在程序集中添加了一个名为“Resources”的文件夹,将后缀名为".png"的图片加入其中。然后用
public Image Pic
{
get
{

return (Image)MyCardGame.Properties.Resources.ResourceManager.GetObject("_");

}

}
进行调用,但显示不出图片。请问是哪里出现了问题。还是我在用.Properties.Resources.ResourceManager.GetObject时要加什么命名空间?或是其他。谢谢!
...全文
1185 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
AnchorDing 2012-05-12
  • 打赏
  • 举报
回复
发生错误;
zoelian 2010-04-18
  • 打赏
  • 举报
回复
回复:wuyq11
说实在的,我暂时没看懂。研究中。
zoelian 2010-04-18
  • 打赏
  • 举报
回复
回复:stg609
我再试试看。
zoelian 2010-04-18
  • 打赏
  • 举报
回复
回复:ly302
没有任何错误信息的提示,编译能通过,不会报错。
stg609 2010-04-18
  • 打赏
  • 举报
回复
你如果直接访问的是本程序集下的资源文件(.resx),而且你的资源文件放的位置为 ”项目根目录-我的文件夹-my.resx" ,资源名为image1. 那你直接使用 <当前项目的名称空间>.我的文件夹.my.image1就可以访问到你的资源的。

如果是其它程序集的资源,那你可以考虑wuyq11的方案。
皇城龙三 2010-04-18
  • 打赏
  • 举报
回复
wuyq11的方法似乎可以,return myImage。



有没有错误提示信息?

还是小红叉?

有小红叉的话,鼠标右键点一下,看一下属性,图片的连接是什么?

wuyq11 2010-04-18
  • 打赏
  • 举报
回复
System.Reflection.Assembly myAssembly;
myAssembly = System.Reflection.Assembly.Load(" <程序集名>");
System.Resources.ResourceManager myManager = new System.Resources.ResourceManager(" <命名空间>. <资源名>", myAssembly);
System.Drawing.Image myImage = (System.Drawing.Image)myManager.GetObject(" <图像资源名>");
http://topic.csdn.net/u/20091125/19/c9fbf911-2c72-4e32-a50b-358183df0090.html

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧