如何保存用户在应用程序关闭时所做的设置,例如,如果他取消勾选一个复选框,以便在启动它时它也不会被取消。
答案 0 :(得分:1)
要保存它,请创建一个保存数据的事件。在此事件中创建一个文件编写器,如下所示:
const string FILE_NAME = "save.txt";
using (FileStream fs = new FileStream(FILE_NAME, FileMode.Create))
{
// Create the writer for data.
using (StreamWriter w = new StreamWriter(fs))
{
// Write data to save.txt
w.WriteLine(
Convert.ToString( MyCheckBox.Enabled )
);
}
}
每次运行活动时,都应该将true
或false
写入save.txt。
要读取数据,请在Form_Load事件中编写以下内容。
using (FileStream fs = new FileStream(FILE_NAME, FileMode.Open, FileAccess.Read))
{
using (StreamReader r = new StreamReader(fs))
{
this.MyCheckBox.Enabled = Convert.ToBoolean(r.ReadLine());
}
}
这应该为你完成工作;)
编辑: 要向文件添加多个项,请创建一个字符串数组和一个for循环。
而不是w.WriteLine(...)
你会做这样的事情:
string[] data = { Convert.ToString(MyCheckBox.Enabled), (any other values) }
for ( int i = 0; i < data.Length; i++ )
{
w.WriteLine(i);
}
答案 1 :(得分:0)
有几种方法可以做到这一点;您可以将状态保存到文件中或将其保存到数据库(例如SQLite
)。
根据您的要求判断,您的要求似乎并不广泛,因此文件选项可能最适合您。
要保存到文件,您有多个选项 - XML
,Binary
很受欢迎,如果您使用的是兼容项目,甚至是app.config
。
如果您使用WPF
或WinForms
,我会使用app.config
或XML
方法。事实上,根据您的需要,app.config
是完美的。
您可以找到WPF app.config
here和WinForms
的好教程,请参阅此处C# app.config in winform
至于读取/写入XML文件的对象,我建议阅读XmlSerialization
,MSDN上有一个非常好的演练 - 这对你来说是更多的工作,它还需要比app.config
方法更多的理解。