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");
}
}
}