如何保存复选框的状态并在c#中切换

时间:2015-11-18 14:19:46

标签: c# winforms

如何保存用户在应用程序关闭时所做的设置,例如,如果他取消勾选一个复选框,以便在启动它时它也不会被取消。

2 个答案:

答案 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 )
                        );
                }
            }

每次运行活动时,都应该将truefalse写入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)。

根据您的要求判断,您的要求似乎并不广泛,因此文件选项可能最适合您。

要保存到文件,您有多个选项 - XMLBinary很受欢迎,如果您使用的是兼容项目,甚至是app.config

如果您使用WPFWinForms,我会使用app.configXML方法。事实上,根据您的需要,app.config是完美的。

您可以找到WPF app.config hereWinForms的好教程,请参阅此处C# app.config in winform

至于读取/写入XML文件的对象,我建议阅读XmlSerializationMSDN上有一个非常好的演练 - 这对你来说是更多的工作,它还需要比app.config方法更多的理解。