资源文件顾名思义就是存放资源的文件。资源文件在程序设计中有着自身独特的优势,他独立于源程序,这样资源文件就可以被多个程序使用。同时在程序设计的时候,有时出于安全或者其他方面因素的考虑,把重要东西存放在资源文件中,也可以达到保密、安全的效果。那么Visual C#所使用的资源文件中到底存放哪些东西呢?在用Visual C#创建资源文件大致可以存放三种类型的数据资源,分别是字节数组、各种对象和字符串。本文将结合一个程序例子来具体说明用Visual C#是如何创建资源文件的。

一.用Visual C#在创建资源文件用到的一些概念和理论: 
在.Net FrameWork SDK中的一个名字叫System.Resources名称空间,在此名称空间中为应用程序提供了许多创建、存储和使用资源文件的类和接口。其中有一个类叫ResourceWriter,Visual C#就是通过调用这个类来实现创建、存储资源文件的。

二.Visual C#如何创建资源文件: 
首先要继承一个ResourceWriter类,然后调用ResourceWriter类的一个方法Generate ( ),就可以产生一个资源文件了。具体语句如下:

ResourceWriter rw = new ResourceWriter ( "My.resources" ) ;
rw.Generate ( ) ;

此时在磁盘的中就会产生一个名称为"My.resources"的资源文件,但此时的资源文件没有任何内容,下面我们就来看看如何往资源文件中添加资源。

三.在资源文件中添加资源: 
在ResourceWriter类中提供了一个AddResource ( )方法,这个方法的作用就是往资源文件中添加资源的。在Visual C#中对不同的资源有着不同的加入方式。

(1).加入字节数组,语法格式为:

public void AddResource ( string , byte [ ] ) ;

注释:其中string是在使用资源文件的时候,此字节数组在程序中的的唯一标识符

(2).加入对象,语法格式为:

public void AddResource ( string , object );

注释:其中string是在使用资源文件的时候,此对象在程序中的唯一标识符

在本文程序中,我们利用这种调用方式来加入图标和图象,具体如下:

Icon ico = new Icon ( "Demo.ico" ) ;
Image canceloff = Image.FromFile ("cancel-off.png") ;
Image cancelon = Image.FromFile ( "cancel-on.png" ) ;
Image cancelover = Image.FromFile ( "cancel-over.png" ) ;
Image okdown = Image.FromFile ( "ok-down.png" ) ;
Image okoff = Image.FromFile ( "ok-off.png" ) ;
Image okon = Image.FromFile ( "ok-on.png" ) ;

rw.AddResource ( "demo.ico" , ico ) ;//在资源文件中加入图标
//以下是在资源文件中加入图象
rw.AddResource ( "cancel-off.png" , canceloff ) ;
rw.AddResource ( "cancel-on.png" , cancelon ) ;
rw.AddResource ( "cancel-over.png" , cancelover ) ;
rw.AddResource ( "ok-down.png" , okdown ) ;
rw.AddResource ( "ok-off.png" , okoff ) ;
rw.AddResource ( "ok-on.png" , okon ) ;

(3).加入字符串,具体语法如下:

public void AddResource ( string1 , string2) ;

注释:其中string1是在使用资源文件的时候,此字符串在程序中的唯一标识符在本文的程序中,是如此使用的:

rw.AddResource ( "MyStr" , "从资源文件中读取字符串!" );

至此我们已经创建了一个资源文件,并且在资源文件中加入了若干个资源,当然在这之后,还应该注意,保存此资源文件,并关闭资源文件,具体如下:

rw.Close ( ) ;

四.创建资源文件的源程序代码: 
通过上面的论述,我们不难理解下面这些代码。下列程序代码的作用就是,创建一个名称为"My.resources"资源文件,并且在此资源文件中加入一个图标资源,若干个图象资源,和一个字符串资源。具体代码如下:

CreatResources.cs:
using System ;
using System.Drawing ;
using System.Resources ;

class CreatResource
{
public static void Main ( )
{
ResourceWriter rw = new ResourceWriter ( "My.resources" ) ;
Icon ico = new Icon ( "Demo.ico" ) ;

Image canceloff = Image.FromFile ("cancel-off.png") ;
Image cancelon = Image.FromFile ( "cancel-on.png" ) ;
Image cancelover = Image.FromFile ( "cancel-over.png" ) ;
Image okdown = Image.FromFile ( "ok-down.png" ) ;
Image okoff = Image.FromFile ( "ok-off.png" ) ;
Image okon = Image.FromFile ( "ok-on.png" ) ;

rw.AddResource ( "demo.ico" , ico ) ;

rw.AddResource ( "cancel-off.png" , canceloff ) ;
rw.AddResource ( "cancel-on.png" , cancelon ) ;
rw.AddResource ( "cancel-over.png" , cancelover ) ;
rw.AddResource ( "ok-down.png" , okdown ) ;
rw.AddResource ( "ok-off.png" , okoff ) ;
rw.AddResource ( "ok-on.png" , okon ) ;

rw.AddResource ( "MyStr" , "从资源文件中读取字符串!" ) ;
rw.Generate ( ) ;
rw.Close ( ) ;
}
}

最好还要提醒一下,在成功编译成执行文件后,在执行此文件的时候,必须保证在此执行文件的相同目录,存在上面代码中提到名称的图标和图象,否则在创建资源文件的时候是会出错的。

Visual C#创建资源文件相关推荐

  1. Visual C# 资源文件编程--创建资源文件

    资源文件顾名思义就是存放资源的文件.资源文件在程序设计中有着自身独特的优势,他独立于源程序,这样资源文件就可以被多个程序使用.同时在程序设计的时候,有时出于安全或者其他方面因素的考虑,把重要东西存放在 ...

  2. Android复习15【动画:创建资源文件夹、创建动画资源文件、组合动画、属性动画、材料设计新特性】

    2020-05-09-[12周-周四] Android动画 https://blog.csdn.net/zhangbijun1230/article/details/80262359 https:// ...

  3. Eclipse创建资源文件

    文件内容格式举例: Company = itcast Address = Beijing

  4. Intellij IDEA 创建资源文件夹 source folder

    之前用 eclipse 新建有一个 source folder ,后来转用 IDEA 之后发现,没有这个,只有普通文件夹,几经周转,解决了. 还是一样新建一个普通的文件夹: 好了下面,根据下面的图,选 ...

  5. visual studio 创建 dll 文件

    有两种 dll 函数导出方式. Create a module definition (.def) file and use the .def file when building the DLL. ...

  6. Visual C# 资源文件编程--使用资源文件

    本文将接着上篇文章的话题来探讨资源文件另外一个问题,在Visual C#如何使用资源文件.在上一篇文章中,我们已经成功的创建了一个名称为"My.resources"的资源文件.这个 ...

  7. 天翼宽带:资源文件无法创建

    硬件: 1.联想笔记本 2.中兴3G无线上网卡,中国电信网络 软件: 1.XP系统 2.有小红伞杀毒软件和360安全卫士 3.天翼宽带软件,含上网卡驱动 客户将上网程序弄坏,无法上网,于是卸载天翼宽带 ...

  8. VB利用资源文件进行工作

    利用资源文件进行工作 资源文件允许将应用程序特定版本的全部文本和位图收集到一起.这可以包括常数声明.图标.屏幕文本,以及可能在本地化版本之间或在修订版本或特定的配置之间发生变化的其它材料. 向工程中添 ...

  9. Xamarin XAML语言教程使用Visual Studio创建XAML

    Xamarin XAML语言教程使用Visual Studio创建XAML Xamarin.Forms允许开发人员通过XAML语法对程序的所有用户界面元素进行详细的定制,如文本.按钮.图像和列表框等. ...

最新文章

  1. Linux虚拟机和Window本地共享文件夹用于PHP项目调试
  2. 技术图文:Matlab VS. Numpy 矩阵基本运算
  3. 为什么通过微服务的方法构建应用程序?
  4. Pandas简明教程-适用于竞赛、研究以及办公自动化
  5. Django,Ajax,文件上传,ajax发送json数据,基于Ajax的文件上传
  6. 三十二、深入Python中的文件操作
  7. TQ210——启动方式
  8. ebm风扇选型手册_EBM风扇选择方法
  9. mysql having的用法
  10. 虚函数与纯虚函数区别
  11. Jmeter全局变量设置
  12. php ip纯真数据库Dat,php查询IP地理位置(dat数据库)-纯真IP数据库
  13. php 聊天室设计,基于PHP+MySQL的聊天室设计_PHP教程
  14. win10怎么手动修改自己的IP地址
  15. FINAUNCE金融业增速反弹信贷投放创新高
  16. 北京农村商业银行:应用质量掘金再造“探秘”之旅
  17. CC1310空中升级笔记02 CC26xx_CC13xx_BLE_OAD_例程梳理
  18. QT编写USB PRINTER驱动
  19. AUTOSAR架构中的配置文件
  20. 人民币小写转大写金额(可达千百万亿)

热门文章

  1. css表示第一个元素和最后一个元素,CSS第一个和最后一个子元素
  2. linux内核添加c代码,如何从C代码加载Linux内核模块?
  3. Gradient Descent和Back propagation在做什么?
  4. coco格式的数据集进行训练
  5. 用Python发一个高逼格的朋友圈
  6. 洛谷P1896 [SCOI2005]互不侵犯 状压dp+位运算
  7. Photoshop抠图、污点处理等常用功能及快捷键
  8. OpenCV——canny算子
  9. python3.8.0shell_Python 3.8.0 正式发布 更新内容
  10. CUDA+OpenCV实现光线追踪(有无constant)