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文件。

  • 相关阅读:
    atitit.TokenService v3 qb1 token服务模块的设计 新特性.docx
    Atitit attilax在自然语言处理领域的成果
    Atitit 图像清晰度 模糊度 检测 识别 评价算法 原理
    Atitit (Sketch Filter)素描滤镜的实现  图像处理  attilax总结
    atitit。企业的价值观 员工第一 vs 客户第一.docx
    Atitit 实现java的linq 以及与stream api的比较
    Atitit dsl exer v3 qb3 新特性
    Atititi tesseract使用总结
    Atitit 修改密码的功能流程设计 attilax总结
    atitit.TokenService v3 qb1  token服务模块的设计 新特性.docx
  • 原文地址:https://www.cnblogs.com/KenBlove/p/1240032.html
Copyright © 2011-2022 走看看