首先我们新建一个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();
// 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();
rw.Close();
调用Generate()方法生成资源文件,这时候\bin\Debug目录下就生成了Skins.resx文件。然后用Close()关闭。
整个资源文件的生成方法就这么简单。这时候的Skines.resx文件就是一个标准的.net资源文件,可以在程序用使用了。
下一篇文章我将介绍如何使用这个Skines.resx文件。