天天看点

c# winform 程序参数 保存/读取

WinForm 参数配置快捷

[DllImport("kernel32")]
        //                        读配置文件方法的6个参数:所在的分区(section)、键值、     初始缺省值、     StringBuilder、   参数长度上限、配置文件路径
        private static extern int GetPrivateProfileString(string section, string key, string deVal, StringBuilder retVal,
            int size, string filePath);

        [DllImport("kernel32")]
        //                            写配置文件方法的4个参数:所在的分区(section)、  键值、     参数值、        配置文件路径
        private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
		
		//保存参数
        public void SetValue(string section, string key, string value)
        {
            //获得当前路径,当前是在Debug路径下
            string strPath = Environment.CurrentDirectory + "\\system.ini";
            WritePrivateProfileString(section, key, value, strPath);
        }
		
		//读取参数
        public string GetValue(string section, string key)
        {
            StringBuilder sb = new StringBuilder(255);
            string strPath = Environment.CurrentDirectory + "\\system.ini";
            //最好初始缺省值设置为非空,因为如果配置文件不存在,取不到值,程序也不会报错
            GetPrivateProfileString(section, key, "配置文件不存在,未取到参数", sb, 255, strPath);
           return sb.ToString();
        }

		//删除参数
		 public void DelValue(string section)
        {
            //获得当前路径,当前是在Debug路径下
            string strPath = Environment.CurrentDirectory + "\\system.ini";
            WritePrivateProfileString(section, null, null, strPath);
        }
           

读取

大类    功能      值
SetValue("参数","波特率","9600");
           

写入

大类     功能
textBox1.Text = GetValue("参数", "波特率");  // 返回该功能的值
           

效果

[参数]
波特率=9600