.NET中资源文件的使用

    工作需要,为VB.NET WinForm程序提供一个中英文界面切换功能,大方向有三个ini、XML、资源文件。

    首先ini太过时,坚决不打算用。资源文件和XML相比提供了一个资源文件管理器,编写键值对会很直观,就打算用资源文件方式了。虽然用记事本打开资源文件后发现这仍然是一些XML。

    resx格式的资源文件可以说有两种吧:一种是在解决方案资源管理器中点击显示全部文件后,可以看到在每个窗体下方都会有的以FormXXX.resx命名的,专属于某个Form的文件;另一种是为项目插入的全局资源文件,默认以ResourceXXX.resx方式命名。

    但是,具体应用中却遇到了问题。用ResourceManager读取资源文件,初始化代码:

    Dim rm as new ResourceManager(GetType(FormXXX))

    dim temp as string=rm.GetString("字段")

    这种方法可以正常运行。为了统一管理,我不打算把中英文对照表分散在各个窗体,想使用ResourceXXX式资源文件。无奈发现同样的代码,把FomrXXX替换成ResourceXXX却报错了,错误意思是:找不到ResourceXXX文件;于是查啊查,找到了一种调用方法

    dim temp as string=My.Resources.Resource1.字段名

    可是这种方法不太好啊,我有两份资源文件,难道每次切换中英文,相关的每一行代码都得改吗。而如果用类似 Dim rm as new ResourceManager(GetType(FormXXX))的方式,切换就方便多了,只需从根源上换一下GetType(FormXXX)的内容就行了。于是继续查啊查,最后静下来想起上MSDN看了下ResourceManager重载,找到了这个

ResourceManager 构造函数 (String, Assembly)       

public ResourceManager(
	string baseName,
	Assembly assembly
)
baseName
类型: System.String
资源文件的根名称,没有其扩展名但是包含所有完全限定的命名空间名称。 例如,名为"MyApplication.MyResource.en-US.resources"的资源文件的根名称为"MyApplication.MyResource"。
assembly
类型: System.Reflection.Assembly
资源的主程序集。

baseName是资源文件的根名称,用下面的代码

    Private rmEN As New ResourceManager("【试验】资源文件.Resource2", Assembly.GetExecutingAssembly)

还是不行,猜想也许是不能有中文名吧,于是重新建立一个项目

    Private rmEN As New ResourceManager("WindowsApplication1.Resource2", Assembly.GetExecutingAssembly)

    嘿嘿,成功了!原来搞半天是这重载不能识别中文啊,想想也是,这段字符串是要被编译的,中文当然不行了。C#也一样,只需稍微改一下语法。

    而为什么Dim rm as new ResourceManager(GetType(FormXXX))这种代码却可以运行呢?不太确定,应该是因为FormXXX.resx是系统自动创建的,所以不需要手工指定根名称吧。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NET资源文件生成器(ResourceWorkshop)是专业的资源文件开发工具,集成了VS.NET的所有资源文件开发工具的功能,是.NET程序员的必备工具。它有英文两种语言版本,支持多文档窗口,具有独特的文件关联功能,使您编缉资源文件时更加得心应手。 主要功能: 1、支持.NET框架下的三种资源文件格式(.txt文件、.resX文件和.Resources文件)。 2、支持字符串、颜色、图片、光标等各种资源。 3、提供了添加、删除、重命名、剪切、复制、粘贴等常用编缉功能。 4、支持多文档窗口,可同时编缉多个文件。 5、可将不同资源文件格式之间的相互转换。 6、可将多个不同格式的资源文件合并为一个资源文件。 7、提供了资源文件关联功能,便于对照比较多个资源文件。 设置资源文件关联,是本程序的一个特色功能。将多个资源文件关联在一起,并将其一个作为主动文件,当主动文件的当前资源项改变时,其它文件的当前资源项也随之变化,指向与之同名的资源。类似Foxbase数据库之间的关联功能,被动数据库的记录指针随着主动数据库的记录指针变化。 当被动资源文件找不到与主动资源文件同名的资源时,根据不同的设置,可定位到第一项资源或询问是否复制资源或自动复制资源。 请到我们的主页http://www.guohuasoft.com下载最新版本。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值