我尝试使用设置对话框创建应用程序。在对话框中,会有一个复选框。我进入了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的代码功能无效。我做错了什么?有人可以帮忙吗?谢谢。
答案 0 :(得分:0)
我认为您正在将MainEditor初始化为新实例,而不是调用OpenForms。试试这个:
var m = Application.OpenForms.OfType<MainEditor>().SingleOrDefault();
if (m != null)
{
m.menustrip1.Visible = true;
}