先賦上相關讀取ini文件代碼
public class INIHelper
{
public string inipath;
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
public INIHelper(string INIPath)
{
inipath = INIPath;
}
public void set(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 ReadInivalue(string Section, string Key)
{
StringBuilder temp = new StringBuilder(500);
int i = GetPrivateProfileString(Section, Key, "", temp, 500, this.inipath);
return temp.ToString();
}
/// <summary>
/// 驗證文件是否存在
/// </summary>
/// <returns>布爾值</returns>
public bool ExistINIFile()
{
return File.Exists(inipath);
}
}
調用以上方法的代碼
INIHelper iniHelper = new INIHelper(Application.StartupPath + "\\Level.ini");
private void ConfigureShowHighFrm_Load(object sender, EventArgs e)
{
if (iniHelper.ReadInivalue("config", "high") == "1")
checkBox1.Checked = true;
else
checkBox1.Checked = false;
if (iniHelper.ReadInivalue("config", "hit") == "1")
checkBox2.Checked = true;
else
checkBox2.Checked = false;
if (iniHelper.ReadInivalue("config", "low") == "1")
checkBox3.Checked = true;
else
checkBox3.Checked = false;
}
然后再看ini文件截圖
不知道看到沒有這個圖片,這個就是ini文件第一行必須是空格,否則讀不出來哦!!!
