欢迎来到天天文库
浏览记录
ID:22226773
大小:273.00 KB
页数:20页
时间:2018-10-27
《Winform中多国语言窗体的设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方 Winform中多国语言窗体的设计以及.NET中资源文件的使用 最近在做一些多国语言的软件,就学习了一下.NET中的多国语言相应知识,受益不少,下面我就简单介绍一下winform中关于多国语言的实现方法。分为七个部分来讲:资源文件概述、资源文件的分类、资源文件的创建、利用IDE来制作多国语言版本、利用资源文件来做多国语言版本、常用.NET资源文件生成器的使用和总结这七个部分。前两个部分都是一些理论性的
2、东西,如果大家不感兴趣可以跳过,直接看三、四、五这三个部分。 第一部分:资源文件概述 资源文件顾名思义就是存放资源的文件。资源文件在程序设计中有着自身独特的优势,他独立于源程序,这样资源文件就可以被多个程序使用。同时在程序设计的时候,有时出于安全或者其它方面因素的考虑,把重要东西存放在资源文件中,也可以达到保密、安全的效果。 资源文件中一般存三种类型的数据:byte流(byte[])、对象(object)和字符串(string)。对于一些纯文件的信息可以用string类型来保存,对于图片(Image)、图标(Ico
3、n)等用object来保存,其它的可以用byte流来保存。System.Resources命名空间中有大量的类和方法来处理资源文件,我将在下面的篇章中进行介绍。 第二部分:资源文件的分类 资源文件可以分为两类,一类是以.resx为后缀名的文件,一类是以.resources为后缀名的文件。二者的区别在于:1. resx虽然是以resx结尾的文件,但是它却是XML格式的文件,你可以用记事本等工具直接打开它修改里面的东西;而resources是二进制的文件,相对来说安全性更好一些。2. resources作为内嵌资源
4、,在指定路径正确的前提下,可以在程序中直接引用;而resx虽然也是内嵌资源,但它却是要依附于.CS文件存在的。也就是说它是作为winform窗体的一个描述性资源存在的,要想在程序中直接使用它,在解决方案中必须有与它同名(只是名字相同,后缀名不同)的.CS文件存在(见图一)。这一点我会在下面的示例中作详细说明。3. 我们可以利用CSC命令把resx文件转换成resources文件。 RESGEN.EXELitwareStrings.resxLitwareStrings.resources 注意变量环境为framewo
5、rk1.1。 第三部分:资源文件的创建 这里我介绍两种资源文件的创建方法,一个是利用System.Resources下的ResourceWriter类,另一个是利用资源文件生成器。本节重点讲利用ResourceWriter类来创建资源文件的方法,第二个方法请详见第六部分。----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方 首先要实例化一个Resou
6、rceWriter类型的变量:ResourceWriterrw=newResourceWriter("My.resources");其中My.resources就是你要生成的文件名。其次要在磁盘上产生这个文件:调用rw.Generate();就可以了。接下来就要为这个资源文件来增加内容了。在ResourceWriter类中提供了一个AddResource()方法,这个方法的作用就是往资源文件中添加资源的。在C#中对不同的资源有着不同的加入方式。1.加入字节数组,语法格式为:publicvoidAddResource(str
7、ing,byte[]);注释:其中string是在使用资源文件的时候,此字节数组在程序中的的唯一标识符 2.加入对象,语法格式为:publicvoidAddResource(string,object);注释:其中string是在使用资源文件的时候,此对象在程序中的唯一标识符在本文程序中,我们利用这种调用方式来加入图标和图象,具体如下:Iconico=newIcon("main.ico");ImageTurnoff=Image.FromFile("Turn-off.png");ImageTurnon=Image.FromF
8、ile("Turn-on.png");rw.AddResource("main.ico",ico);//在资源文件中加入图标//以下是在资源文件中加入图象rw.AddResource("Turn-off.png",Turnoff);rw.AddResource("Turn-on.png",Turnlon
此文档下载收益归作者所有