.net 资源文件的创建及使用
在资源管理器中选择文件 拖动文件到项目中 右键单击文件,选择属性 勾选“嵌入的资源”
发布日期:2025-06-07 18:56:21
浏览次数:7
分类:精选文章
本文共 3071 字,大约阅读时间需要 10 分钟。
一、资源文件
资源文件是程序设计中用来存储可重用的资源数据的文件。与源程序独立,能够被多个程序共享。Visual C#中,资源文件主要存储三种类型的数据:字节数组、对象和字符串。本文将通过代码示例,详细说明如何使用Visual C#创建资源文件。
二、创建资源文件所需的类
在Net Framework SDK中,System.Resources命名空间提供了用于创建、存储和管理资源文件的类。其中,ResourceWriter类是核心工具,用于生成和配置资源文件。
三、创建资源文件的步骤
继承ResourceWriter类:
首先需要创建一个ResourceWriter实例,并指定资源文件的名称。ResourceWriter rw = new ResourceWriter("My.resources");生成资源文件:
调用Generate()方法创建资源文件。rw.Generate();
添加资源:
使用AddResource()方法将不同类型的资源添加到文件中。 - 字节数组:
public void AddResource(string name, byte[] data);
- 对象:
public void AddResource(string name, object obj);
- 字符串:
public void AddResource(string name, string value);
四、示例:创建资源文件
public static void CreateRe(){ ResourceWriter rw = new ResourceWriter("My.resources"); Image image1 = Image.FromFile("../../Images/1.jpg"); Image image2 = Image.FromFile("../../Images/2.jpg"); Icon ic = new Icon("../../Images/3.ico"); rw.AddResource("1", image1); rw.AddResource("2", image2); rw.AddResource("3", ic); rw.AddResource("4", "这是从资源文件中获取的字符串!"); rw.Generate(); rw.Close();} 五、将资源文件添加到项目
六、管理资源文件中的资源
在程序中使用ResourceManager类管理资源文件。
ResourceManager rm = new ResourceManager("CResources.My", Assembly.GetExecutingAssembly()); 七、使用资源文件中的资源
- 获取字符串:
String s = rm.GetString("MyStr"); - 获取图标:
Icon ico = rm.GetObject("demo.ico") as Icon; - 获取图片:
Image img = rm.GetObject("ok-off.png") as Image;
八、完整示例代码
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Resources;using System.Reflection;namespace CResources{ public partial class Form1 : Form { ResourceManager rm = new ResourceManager("CResources.My", Assembly.GetExecutingAssembly()); private void btnCreateResources_Click(object sender, EventArgs e) { CreateRe(); } public static void CreateRe() { ResourceWriter rw = new ResourceWriter("My.resources"); Image image1 = Image.FromFile("../../Images/1.jpg"); Image image2 = Image.FromFile("../../Images/2.jpg"); Icon ic = new Icon("../../Images/3.ico"); rw.AddResource("1", image1); rw.AddResource("2", image2); rw.AddResource("3", ic); rw.AddResource("4", "这是从资源文件中获取的字符串!"); rw.Generate(); rw.Close(); } private void btnGetPic_Click(object sender, EventArgs e) { this.picBox1.Image = (Bitmap)rm.GetObject("1"); } private void btnGetPic2_Click(object sender, EventArgs e) { this.picBox1.Image = (Bitmap)rm.GetObject("2"); } private void btnGetString_Click(object sender, EventArgs e) { this.lbl.Text = rm.GetString("4"); } private void btnGetIco_Click(object sender, EventArgs e) { this.Icon = (Icon)rm.GetObject("3"); } }} 结语
通过以上方法,可以轻松创建和管理Visual C#资源文件,并在程序中高效使用资源数据。资源文件的应用场景广泛,能够提升程序的可维护性和安全性。
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2026年06月18日 14时41分32秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
PHP 数据库连接池实现
2023-02-28
php 数组 区别,PHP中数组的区别
2023-02-28
PHP 数组怎么添加一个元素
2023-02-28
PHP 文件操作
2023-02-28
php 文字弹幕效果代码,HTML5文字弹幕效果
2023-02-28
php 时间日期函数,获取今天开始时间,结束时间
2023-02-28
php 标准规范
2023-02-28
PHP 浮点型精度运算相关问题
2023-02-28
php 浮点型计算精度问题
2023-02-28
php 特定时间段统计,jpgraph某个时间段的数据统计
2023-02-28
php 生成csv mac下乱码
2023-02-28
php 生成证书 签名及验签
2023-02-28
PHP 的标准输入与输出
2023-02-28
php 笔记 (早前的,很乱)
2023-02-28
PHP 第一天
2023-02-28
Redis使用量暴增,快速定位有哪些大key在作怪
2023-02-28
PHP 统计数据功能 有感
2023-02-28
SpringBoot处理JSON数据
2023-02-28
PHP 输入输出流合集
2023-02-28