博客
关于我
.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 编译安装 window篇
    查看>>
    mysql 网络目录_联机目录数据库
    查看>>
    MySQL 聚簇索引&&二级索引&&辅助索引
    查看>>
    Mysql 脏页 脏读 脏数据
    查看>>
    mysql 自增id和UUID做主键性能分析,及最优方案
    查看>>
    Mysql 自定义函数
    查看>>
    mysql 行转列 列转行
    查看>>
    Mysql 表分区
    查看>>
    mysql 表的操作
    查看>>
    mysql 视图,视图更新删除
    查看>>
    MySQL 触发器
    查看>>
    mysql 让所有IP访问数据库
    查看>>
    mysql 记录的增删改查
    查看>>
    MySQL 设置数据库的隔离级别
    查看>>
    MySQL 证明为什么用limit时,offset很大会影响性能
    查看>>
    Mysql 语句操作索引SQL语句
    查看>>
    MySQL 误操作后数据恢复(update,delete忘加where条件)
    查看>>
    MySQL 调优/优化的 101 个建议!
    查看>>
    mysql 转义字符用法_MySql 转义字符的使用说明
    查看>>
    mysql 输入密码秒退
    查看>>