C#通过生成ini文件,记住用户关闭程序之前的选择+忽略跨线程检查
1.在类的里面添加
//写配置文件
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);//系统dll导入ini写函数
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);//系统dll导入ini读函数
string FileName = System.AppDomain.CurrentDomain.BaseDirectory + "data.ini";//ini文件名,保存在程序的同文件路径下
//string FileName = @"C:\Program Files\" + "jmt_data.ini";//ini文件名,将生成的ini文件保存在固定位置
StringBuilder temp = new StringBuilder(255);//存储读出ini内容变量
2.在界面关闭前保存数据
private void Form_jmt_isp_FormClosing(object sender, FormClosingEventArgs e)
{
WritePrivateProfileString("InitData", "mcu_sort", comboBox_jmtSort_select.Text, FileName);//窗口关闭,保存
//那个分区 -- 变量名 ---- 变量值--- -----------------------文件路径
}
3.在界面再次开始时读取数据
private void Form_jmt_isp_Load(object sender, EventArgs e)
{
GetPrivateProfileString("InitData", "mcu_sort", "JMT 1801系类", temp, 256, FileName);//窗口关闭,保存
//那个分区 -- 变量名 - 若无变量默认值---读取的值-大小 -文件路径
comboBox_jmtSort_select.Text = temp.ToString();
System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false; //忽略跨线程检查
}