DotNet Compact Framework中位图资源的使用学习笔记

问题:

使用Visual Studio.net 2003编写一个在WinCE下运行的应用程序时,需要使用位图资源,于是使用下面的代码:

Using System.Drawing;

…..

Bitmap picBitmap = new Bitmap(“pica.bmp”);

……

Pica.bmp就是我想要使用的位图文件,我将这个文件附加到工程目录中,编译通过,启动调试,但是发现虽然在部署这个应用程序的时候已经将pica.bmp复制到了WinCE Emulator中和应用程序同样的目录下,但是程序运行到这个位置总会抛出一个“FileNotFoundException”,而同样的代码在Windows应用程序中却运行的好好的。

分析:

由于各方面的经验不足,到现在也没想清楚。

解决:

1、  观察一下VS.net是怎样使用位图资源的。

新建一个Smart DeviceWindows Form应用,新建一个窗体:Form1,在窗体上拖入一个PictureBoxpbShow,将pbShowImage属性设置为你想要的位图。然后看Form的源代码,发现问题所在了:

System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(LoginForm));

this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));

原来VS.net是通过.net资源文件来使用个中位图资源的。

假设我们的项目名叫做SmartDeviceApplication1,命名空间叫做SmartApp那么在目录SmartDeviceApplication1/obj/DEBUG目录下你能够找到一个叫做SmartApp.Form1.resources.net资源文件。这个文件是由.net自动生成的,但是因为我们要使用自己的资源,所以我们要学会编辑和使用这个文件。

2、  编辑*.resources文件

VS.net中自带了一个资源编辑器,叫做RESEDITOR,通常在/Program Files/Microsoft Visual Studio .NET 2003/SDK/v1.1/Samples/Tutorials/resourcesandlocalization/reseditor这个目录下(可能会由于Visual Studio.NET的版本的不同而不同吧),这个目录下将包含build.batResEditor.cs这两个文件,ResEditor.cs是资源编辑器的源码,微软没有提供编译好了的程序,怎么说也算是支持了一把开源了。打开开始菜单 | 程序 | Microsoft Visual Studio .NET 2003 | Visual Studio .NET工具 | Visual Studio .NET 2003命令提示,定位到上面的目录,运行build.bat就能够编译ResEditor.cs这个文件了。运行ResEditor,就能够编译我们想要的资源了。界面如图:

ResEditor

这样的界面也算是很简洁了,使用也很简单:在Add下拉框中选择你要添加的资源类型,我们这里选的是:System.Drawing.Bitmap,在后面的TextBox里给他取一个名字,比如叫ForTest,点右边的Add按钮,

单击右边的按钮,浏览到要添加的图片就可以了。从文件里另存为.resources的文件。

3、  使用资源文件

将编译好的文件附加到你的工程中,右键单击工程名,添加 | 添加现有项,选择资源文件,比如叫做MyRes.resources,我们在程序中需要ResourceManager来使用文件中的位图。ResourceManager还能用来解决软件的国际化问题,我们在这里就不介绍了。

System.Resources.ResourceManager rm = new ResourceMagager(“SmartApp.MyRes”, System.Reflection.Assembly.GetExecutingAssembly());

Bitmap picBitmap = (Bitmap)rm.getObject(“ForTest”);

如果在资源文件中添加了string,我们就能直接使用getString了,而不需要用到强制类型转换。

这里的SmartApp是我们的程序的命名空间,MyRes是文件名,记住不要带后缀。这样就能正确地使用我们的位图资源了!^_^

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值