【发布时间】:2011-11-15 11:24:44
【问题描述】:
我制作了一个 Win Form 并有一些控件,如复选框、单选按钮等。我希望发生的是用户将选择一些设置,例如勾选框以在启动时启动程序,然后他们可以退出,当他们再次打开它时,我如何确保他们所做的选择被保存?谢谢。
【问题讨论】:
我制作了一个 Win Form 并有一些控件,如复选框、单选按钮等。我希望发生的是用户将选择一些设置,例如勾选框以在启动时启动程序,然后他们可以退出,当他们再次打开它时,我如何确保他们所做的选择被保存?谢谢。
【问题讨论】:
http://msdn.microsoft.com/en-us/library/aa730869%28v=vs.80%29.aspx 这是和文章如何在 C# 应用程序中使用设置。
你可以在哪里检查,如果 CheckBox 是用布尔值等检查的。
【讨论】:
有几种方法,但我建议使用 .NET 用户设置方法将他们的设置保存在应用程序的属性部分,并在他们再次启动应用程序时重新加载和设置。
这是一个例子:
保存设置
Properties.Settings.Default.CheckboxChecked = true;
Properties.Settings.Default.Save();
加载设置
checkBox.Checked = Properties.Settings.Default.CheckboxChecked;
不过,我建议给它们起更有意义的名字。
您可以在此处阅读更多信息,例如:MSDN Using Application Settings and User Settings
这也是一个关于如何从头到尾实现用户设置的好教程:C# - Saving User Settings - Easy way!
【讨论】:
也许你正在寻找这样的东西:
添加这个:
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
然后这个程序:
for_save info = new for_save();
string general_path = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
string path = general_path + "\\MyApplication";
BinaryFormatter serializer = new BinaryFormatter();
info.check = true;
info.radio = false;
//write
Directory.CreateDirectory(path);
Stream write_stream = File.Create(path + "\\MyFile.txt");
serializer.Serialize(write_stream, info);
write_stream.Close();
//read
Stream read_stream = File.OpenRead(path + "\\MyFile.txt");
for_save read_info = (for_save) serializer.Deserialize(read_stream);
read_stream.Close();
textBox1.Text = read_info.check.ToString() + read_info.radio.ToString();
还有这个类:
[Serializable()]
class for_save
{
public bool check;
public bool radio;
}
【讨论】: