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; //忽略跨线程检查

}

原文地址:https://www.cnblogs.com/fx427103/p/4205953.html