zoukankan      html  css  js  c++  java
  • 在.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文件。

  • 相关阅读:
    printf和sprintf
    操作数、运算符、表达式
    全自动加法机
    Ascll、GB2312、Ansi
    数组
    循环
    编程命名规范
    浮点数及缺陷
    Android编码规范
    RGB着色对照表
  • 原文地址:https://www.cnblogs.com/KenBlove/p/1240032.html
Copyright © 2011-2022 走看看