C#利用Ini书写读入和读出数据

本文介绍如何在WinForms应用程序中使用C#操作INI文件,包括读取和写入配置信息的方法实现。通过实例展示了如何将用户输入的数据保存到INI文件,并在下次启动程序时读取这些数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建一个Winfrom窗体应用程序

在这里插入图片描述
##添加公共类库iIniFiles

public  class IniFiles
    {
        public string inipath;

        //声明API函数

        [DllImport("kernel32")]

        private static extern long WritePrivateProfileString(string section, string key, string value, string filepath);
       
        [DllImport("kernel32")]
        private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder returnvalue, int a, string filepath);
        /// <summary> 
        /// 构造方法 
        /// </summary> 
        /// <param name="INIPath">文件路径</param> 
        public IniFiles(string INIPath)
        {
            inipath = INIPath;
        }

        public IniFiles() { }

        /// <summary> 
        /// 写入INI文件 
        /// </summary> 
        /// <param name="Section">项目名称(如 [TypeName] )</param> 
        /// <param name="Key">键</param> 
        /// <param name="Value">值</param> 
        public void IniWriteValue(string Section, string Key, string Value)
        {
            WritePrivateProfileString(Section, Key, Value,this.inipath);
        }
        /// <summary> 
        /// 读出INI文件 
        /// </summary> 
        /// <param name="Section">项目名称(如 [TypeName] )</param> 
        /// <param name="Key">键</param> 
        public string IniReadValue(string Section, string Key,out string value)
        {
            StringBuilder temp = new StringBuilder(500);
            int i = GetPrivateProfileString(Section, Key, "", temp, 1024, this.inipath);
            value = temp.ToString();
            return value;
        }
        /// <summary> 
        /// 验证文件是否存在 
        /// </summary> 
        /// <returns>布尔值</returns> 
        public bool ExistINIFile()
        {
            return File.Exists(inipath);
        }
    }

前台写入文件并调用Ini文件

 if(textBox1.Text.Trim()!=""&&textBox2.Text.Trim()!="")
            {
                string Sectiom = "Information";
                try
                {
                    ini.IniWriteValue(Sectiom, "Name", textBox1.Text.Trim());
                    ini.IniWriteValue(Sectiom, "Gender", comboBox1.Text);
                    ini.IniWriteValue(Sectiom, "Age", comboBox2.Text);
                    ini.IniWriteValue(Sectiom, "Region", textBox2.Text.Trim());

                }
                catch(Exception ee)
                {
                    MessageBox.Show(ee.Message);
                }
            }
            else
            {
                MessageBox.Show("姓名地区不能为空", "错误", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }

读出

 string outString;
            try
            {
                ini.IniReadValue("Information", "Name",out outString);
                textBox1.Text = outString;
                ini.IniReadValue("Information", "Gender", out outString);
                comboBox1.Text = outString;
                ini.IniReadValue("Information", "Age", out outString);
                comboBox2.Text = outString;
                ini.IniReadValue("Information", "Region", out outString);
                textBox2.Text = outString;

            }
            catch(Exception ee)
            {
                MessageBox.Show(ee.Message);
            }

运行结果在Confing中查看
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值