[netMarketing类库] Config类: 以XML方式保存程序配置文件的类

命名空间:netMarketing.automation.baseClass.ConfigClass.Config

功能:以XML方式保存程序配置文件

版本要求: netMarketingv1.3.1

功能详细说明:
这个类是勇哥的同事写的一个类,比较好用,特收录进netMarketing中。
这个类使用的时候只需要做两件事:

(1)创建一个类,用来声明要保存配置文件的项目

(2)在你的调试面板中放入一个propertyGrid控件,用来显示与编辑参数

然后你就可以new一个本类的实例,调用它的load, save方法读写配置文件了。

这个类默认是在程序的bin目录下的config目录下创建配置文件Config.xml。但是你也可以在调用load, save方法时修改目录位置与配置文件名字。


常用函数列表:

C#
/// <summary>
        /// 保存配置文件
        /// </summary>
        /// <param name="obj">配置文件项目的类</param>
        /// <param name="path">配置文件的目录</param>
        /// <param name="fname">配置文件的名字</param>
        /// <returns></returns>
        public bool Save(object obj, string path = "", string fname = "")
        
 /// <summary>
        /// 载入配置文件
        /// </summary>
        /// <param name="obj">配置文件项目的类</param>
        /// <param name="path">配置文件的目录</param>
        /// <param name="fname">配置文件的名字</param>
        /// <returns></returns>
        public bool Load(object obj,string path="",string fname="")


参考例子:


C#
 public partial class Form1 : Form
 {
   private settingClass set = new settingClass();
   private static Config config=new Config();
        
   public Form1()
   {
    InitializeComponent();
    config.Load(this.set);
   }
   
     private void Form1_Load(object sender, EventArgs e)
     {
         updateProperty();
        var s1=  set.Product_Limit_Length1Min;
     }
     
     private void updateProperty()
        {
            propertyGrid1.SelectedObject = this.set;
            propertyGrid1.CollapseAllGridItems();
        }

        private void button4_Click(object sender, EventArgs e)
        {
            config.Load(this.set);
            updateProperty();
        }

        private void button5_Click(object sender, EventArgs e)
        {
            config.Save(this.set);
            var s1 = set.Product_Limit_Length1Min;
        }
    
 }
 
 public class settingClass
    {
        #region Product设置
        [Category("Product设置"), DisplayName("01_数据存储目录"), Description("即存放的目录位置")]
        [DefaultValue("E:\\Data"), Editor(typeof(System.Windows.Forms.Design.FolderNameEditor), typeof(System.Drawing.Design.UITypeEditor))]
        public string Product_DataFolder { get; set; }

        [Category("Product设置"), DisplayName("厚度上限"), Description("厚度上限")]
        [DefaultValue(0.15)]
        public double Product_Limit_ThicknessMax { get; set; }

        [Category("Product设置"), DisplayName("厚度下限"), Description("厚度下限")]
        [DefaultValue(0.05)]
        public double Product_Limit_ThicknessMin { get; set; }


        [Category("Product设置"), DisplayName("04_长度1上限")]
        [DefaultValue(11.0D)]
        public double Product_Limit_Length1Max { get; set; }

        [Category("Product设置"), DisplayName("05_长度1下限")]
        [DefaultValue(9.0D)]
        public double Product_Limit_Length1Min { get; set; }


        [Category("Product设置"), DisplayName("06_长度2上限")]
        [DefaultValue(11.0)]
        public double Product_Limit_Length2Max { get; set; }

        [Category("Product设置"), DisplayName("07_长度2下限")]
        [DefaultValue(9.0)]
        public double Product_Limit_Length2Min { get; set; }

        [Category("Product设置"), DisplayName("08_长度3上限")]
        [DefaultValue(11.0)]
        public double Product_Limit_Length3Max { get; set; }

        [Category("Product设置"), DisplayName("09_长度3下限")]
        [DefaultValue(9.0)]
        public double Product_Limit_Length3Min { get; set; }

        [Category("Product设置"), DisplayName("10_长度4上限")]
        [DefaultValue(11.0)]
        public double Product_Limit_Length4Max { get; set; }

        [Category("Product设置"), DisplayName("11_长度4下限")]
        [DefaultValue(9.0)]
        public double Product_Limit_Length4Min { get; set; }

        [Category("Product设置"), DisplayName("12_长度5上限")]
        [DefaultValue(11.0)]
        public double Product_Limit_Length5Max { get; set; }

        [Category("Product设置"), DisplayName("13_长度5下限")]
        [DefaultValue(9.0)]
        public double Product_Limit_Length5Min { get; set; }

        [Category("Product设置"), DisplayName("14_长度6上限")]
        [DefaultValue(11.0)]
        public double Product_Limit_Length6Max { get; set; }

        [Category("Product设置"), DisplayName("55_长度6下限")]
        [DefaultValue(9.0)]
        public double Product_Limit_Length6Min { get; set; }
        #endregion
    }

在上面的代码中:

DefaultValue中的内容务必按数据类型指定, 如是string,则为“”,如是double,可以设置为不带引号的  数字+尾缀D

请不要乱填DefaultValue,会造成读配置文件失败。


另外,你还需要在自己软件的面板中,加入propertyGrid控件,用来读写编辑配置文件。

image.png




--------------------- 

作者:hackpig
来源:
www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!

返回类库功能说明目录


本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:

发表评论:

登录注册后再发表评论!

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2025年4月    »
123456
78910111213
14151617181920
21222324252627
282930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864