本文共 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/