您的位置:首页 > 其它

在.net中创建并使用资源文件(1)

2008-07-10 15:05 375 查看
在.net中,可以创建资源文件(.resx)供程序使用,可以在资源文件中加入图片、字符串等自定义资源。以便在程序中使用这些文件。下边就我们就创建一个名为Skins.resx的资源文件,在里面装载一些程序UI需要的资源,以便绘制程序界面。

首先我们新建一个Windows程序(Windows Application),在Form1_Load中加入以下代码:

ResXResourceWriter rw = new ResXResourceWriter("Skins.resx");

//skins

Image Bottom_Left = Image.FromFile("Bottom_Left.gif");

Image Bottom_Middle = Image.FromFile("Bottom_Middle.gif");

Image Bottom_Right = Image.FromFile("Bottom_Right.gif");

Image Middle_Left = Image.FromFile("Middle_Left.gif");

Image Middle_Right = Image.FromFile("Middle_Right.gif");

Image Top_Left = Image.FromFile("Top_Left.gif");

Image Top_Middle = Image.FromFile("Top_Middle.gif");

Image Top_Right = Image.FromFile("Top_Right.gif");

Image SysButton_Close = Image.FromFile("SysButton_Close.gif");

Image SysButton_Min = Image.FromFile("SysButton_Min.gif");

//ico

Image Acc_Config = Image.FromFile("Acc_Config.png");

Image Acc_Everyday = Image.FromFile("Acc_Everyday.png");

Image Acc_Search = Image.FromFile("Acc_Search.png");

Image Acc_Statistics = Image.FromFile("Acc_Statistics.png");

Image Sys_Towards = Image.FromFile("Sys_Towards.png");

//colors

string BackColor = "#E5F6F9"; //窗口和控件背景色

string BorderColor = "#79C6BC"; //控件边框颜色

string ForeColor = "#79C6BC"; //控件前景色,即字体颜色

string ActiveColor = "#79C6BC"; //控件激活(获得焦点)时颜色

string ActiveBackColor = "#DAF1F3"; //控件激活时候控件背景色

string InactiveColor = "#C0E5E4"; //控件非激活(失去焦点)时颜色

//add skins

rw.AddResource("Bottom_Left", Bottom_Left);

rw.AddResource("Bottom_Middle", Bottom_Middle);

rw.AddResource("Bottom_Right", Bottom_Right);

rw.AddResource("Middle_Left", Middle_Left);

rw.AddResource("Middle_Right", Middle_Right);

rw.AddResource("Top_Left", Top_Left);

rw.AddResource("Top_Middle", Top_Middle);

rw.AddResource("Top_Right", Top_Right);

rw.AddResource("SysButton_Close", SysButton_Close);

rw.AddResource("SysButton_Min", SysButton_Min);

//add colors

rw.AddResource("BackColor", BackColor);

rw.AddResource("BorderColor", BorderColor);

rw.AddResource("ForeColor", ForeColor);

rw.AddResource("ActiveColor", ActiveColor);

rw.AddResource("ActiveBackColor", ActiveBackColor);

rw.AddResource("InactiveColor", InactiveColor);

//add ico

rw.AddResource("Acc_Config", Acc_Config);

rw.AddResource("Acc_Everyday", Acc_Everyday);

rw.AddResource("Acc_Search", Acc_Search);

rw.AddResource("Acc_Statistics", Acc_Statistics);

rw.AddResource("Sys_Towards", Sys_Towards);

rw.Generate();

rw.Close();

现在我们来解释一下上边的代码:

ResXResourceWriter rw = new ResXResourceWriter("Skins.resx");

是创建一个XML资源对象rw,并命名生成资源文件名为Skines.resx

Image Bottom_Left = Image.FromFile("Bottom_Left.gif");

这句基本不用解释,就创建一个Image对象,并将该对象用"Bottom_Left.gif"初始化。需要注意的是,我们这里直接使用了图片名称,并没有指定图片路径,那么系统就默认是当前目录下,也就是项目的\bin\Debug目录下需要有对应的图片。否则会报错。

string BackColor = "#E5F6F9"; //窗口和控件背景色

这句......跳过。

rw.AddResource("Bottom_Left", Bottom_Left);

用AddResource方法将定义好的对象增加到资源中。

rw.Generate();

rw.Close();

调用Generate()方法生成资源文件,这时候\bin\Debug目录下就生成了Skins.resx文件。然后用Close()关闭。

整个资源文件的生成方法就这么简单。这时候的Skines.resx文件就是一个标准的.net资源文件,可以在程序用使用了。

下一篇文章我将介绍如何使用这个Skines.resx文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: