博客
关于我
.net 资源文件的创建及使用
阅读量:801 次
发布时间:2023-04-04

本文共 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#资源文件,并在程序中高效使用资源数据。资源文件的应用场景广泛,能够提升程序的可维护性和安全性。

    转载地址:http://uirfk.baihongyu.com/

    你可能感兴趣的文章
    mysql 如何给SQL添加索引
    查看>>
    mysql 字段区分大小写
    查看>>
    mysql 字段合并问题(group_concat)
    查看>>
    mysql 字段类型类型
    查看>>
    MySQL 字符串截取函数,字段截取,字符串截取
    查看>>
    MySQL 存储引擎
    查看>>
    mysql 存储过程 注入_mysql 视图 事务 存储过程 SQL注入
    查看>>
    MySQL 存储过程参数:in、out、inout
    查看>>
    mysql 存储过程每隔一段时间执行一次
    查看>>
    mysql 存在update不存在insert
    查看>>
    Mysql 学习总结(86)—— Mysql 的 JSON 数据类型正确使用姿势
    查看>>
    Mysql 学习总结(87)—— Mysql 执行计划(Explain)再总结
    查看>>
    Mysql 学习总结(88)—— Mysql 官方为什么不推荐用雪花 id 和 uuid 做 MySQL 主键
    查看>>
    Mysql 学习总结(89)—— Mysql 库表容量统计
    查看>>
    mysql 实现主从复制/主从同步
    查看>>
    mysql 审核_审核MySQL数据库上的登录
    查看>>
    mysql 导入 sql 文件时 ERROR 1046 (3D000) no database selected 错误的解决
    查看>>
    mysql 导入导出大文件
    查看>>
    mysql 常用
    查看>>
    MySQL 常用列类型
    查看>>