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

在.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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值