我正在尝试从资源中加载图像,但即使图像位于资源文件中,它也会将其设置为null。
声明图像属性
Image selectedImage = null;
Image emptyImage = null;
ResourceManager rm = new ResourceManager("SchedurlesImages.resx", Assembly.GetExecutingAssembly());
Bitmap selectedImage = (Bitmap)rm.GetObject("selected");
Bitmap emptyImage = (Bitmap)rm.GetObject("empty");
答案 0 :(得分:0)
您已声明了2个变量或字段:
Image selectedImage = null;
Image emptyImage = null;
但是你要将资源分配给新的局部变量(在变量前面写一个类型名称使它成为一个新的变量声明):
Bitmap selectedImage = (Bitmap)rm.GetObject("selected");
Bitmap emptyImage = (Bitmap)rm.GetObject("empty");
删除类型名称以使用先前声明的变量
selectedImage = (Image)rm.GetObject("selected");
emptyImage = (Image)rm.GetObject("empty");
如果图像位于当前项目的资源中,您可以使用
访问它们selectedImage = Properties.Resources.selected;
emptyImage = Properties.Resources.empty;
Visual Studio使用硬编码和强类型资源创建一个代码隐藏文件。