主页 > 编程资料 > C# >
发布时间:2015-09-26 作者:网络 阅读:182次

C#中没有读写ini文件的类,但用API函数很容易实现.

窗体代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace IniFileDemo
{
    public partial class Form1 : Form
    {
        /**//**//**////


        /// 读ini文件文件API函数声明
        ///

        /// 小节名
        /// 关键字
        /// 如果没找到时的默认值
        /// 存放返回值的缓冲区
        /// 缓冲区大小
        /// 要读取的ini文件的路径
        /// 返回读取到的字符数
        [DllImport("kernel32")]
        private static extern long GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);

        /**//**//**////


        /// 写ini文件API函数声明
        ///

        /// 小节名
        /// 关键字
        /// 要写入的值
        /// 要写入的ini文件的路径
        /// 返回写入的字符数
        [DllImport("kernel32")]
        private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);

        public Form1()
        {
            InitializeComponent();
        }

        /**//**//**////


        /// 从ini文件读取值并应用到窗体的Width,Height属性
        ///

        ///
        ///
        private void Form1_Load(object sender, EventArgs e)
        {
            StringBuilder myBuilder=new StringBuilder(256);
            GetPrivateProfileString("settings", "width", "300", myBuilder, 256, ".app.ini");
            Width = Int32.Parse(myBuilder.ToString());
            textBox1.Text = Width.ToString();

            GetPrivateProfileString("settings", "height", "300", myBuilder, 256, ".app.ini");
            Height = Int32.Parse(myBuilder.ToString());
            textBox2.Text = Height.ToString();
        }

        /**//**//**////


        /// 将自定义的值写入ini文件
        ///

        ///
        ///
        private void button1_Click(object sender, EventArgs e)
        {
            Width = Int32.Parse(textBox1.Text);
            Height = Int32.Parse(textBox2.Text);
            WritePrivateProfileString("settings", "width", textBox1.Text, ".app.ini");
            WritePrivateProfileString("settings", "height", textBox2.Text, ".app.ini");
        }
    }
}

<> <>
关键字词: