博客
关于我
.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 常用命令
    查看>>
    Mysql 常见ALTER TABLE操作
    查看>>
    MySQL 常见的 9 种优化方法
    查看>>
    MySQL 常见的开放性问题
    查看>>
    Mysql 常见错误
    查看>>
    MYSQL 幻读(Phantom Problem)不可重复读
    查看>>
    mysql 往字段后面加字符串
    查看>>
    mysql 快速自增假数据, 新增假数据,mysql自增假数据
    查看>>
    Mysql 报错 Field 'id' doesn't have a default value
    查看>>
    MySQL 报错:Duplicate entry 'xxx' for key 'UNIQ_XXXX'
    查看>>
    Mysql 拼接多个字段作为查询条件查询方法
    查看>>
    mysql 排序id_mysql如何按特定id排序
    查看>>
    Mysql 提示:Communication link failure
    查看>>
    mysql 插入是否成功_PDO mysql:如何知道插入是否成功
    查看>>
    Mysql 数据库InnoDB存储引擎中主要组件的刷新清理条件:脏页、RedoLog重做日志、Insert Buffer或ChangeBuffer、Undo Log
    查看>>
    mysql 数据库备份及ibdata1的瘦身
    查看>>
    MySQL 数据库备份种类以及常用备份工具汇总
    查看>>
    mysql 数据库存储引擎怎么选择?快来看看性能测试吧
    查看>>
    MySQL 数据库操作指南:学习如何使用 Python 进行增删改查操作
    查看>>
    MySQL 数据库的高可用性分析
    查看>>