在.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文件。
转载于:https://www.cnblogs.com/KenBlove/archive/2008/07/10/1240032.html
转载请注明原文地址: https://mac.8miu.com/read-21945.html