如何使用c#中的函数保存复选框设置

时间:2017-08-06 03:05:24

标签: c# .net windows checkbox properties

我尝试使用设置对话框创建应用程序。在对话框中,会有一个复选框。我进入了visual studio的设置面板,并将设置命名为" AutoEnable"。我将类型设置为bool,范围设置为user。我也将值设置为true。同时在表单中,我已将Checkbox1_CheckedChanged函数设置为复选框,并添加了以下函数:

private void checkBox1_CheckedChanged(object sender, EventArgs e)
    {
        if(checkBox1.Checked == true)
        {
            MainEditor m = new MainEditor();
            m.menustrip1.Visible = true;
        }
        if (checkBox1.Checked == false)
        {
            MainEditor m = new MainEditor();
            m.menustrip1.Visible = false;
        }
    }

当我测试它时,复选框被设置为检查为我之前设置的值。我取消选中该复选框并关闭对话框,然后再次打开它。结果很好......它像我一样没有被检查。但我发现的一个问题是,当我取消选中复选框并关闭对话框并返回MainEditor时,来自checkbox1的代码功能无效。我做错了什么?有人可以帮忙吗?谢谢。

1 个答案:

答案 0 :(得分:0)

我认为您正在将MainEditor初始化为新实例,而不是调用OpenForms。试试这个:

var m = Application.OpenForms.OfType<MainEditor>().SingleOrDefault();
if (m != null)
{
  m.menustrip1.Visible = true;
}