【发布时间】:2011-11-20 18:01:16
【问题描述】:
在我的主表单 (form1) 中,我有复选框,选中时还应选中 form2 中的相应框。我还希望如果选中 form2 中的复选框,它们会选中 form1 上的相应框。我相信我遇到的问题是 form1 可以引用 form2 的对象,但是如果我在 form2 中实例化 form1 的对象,我相信它会创建一个无限循环?任何解决此问题的帮助表示赞赏。
Form1 创建一个 form2 的对象:
Form2 formSettings = new Form2();
现在,当我有活动时,我可以更新 form2:
public void logScanResultsToolStripMenuItem_Click(object sender, EventArgs e)
{
if (logScanResultsToolStripMenuItem.Checked)
{
formSettings.chbxLogScanResults.Checked = true;
}
else
{
formSettings.chbxLogScanResults.Checked = false;
}
}
但是如果我尝试在 Form2 中做类似的事情:
Form1 form1 = new Form1();
所以我可以从 form2(formSettings) 中引用 form1 的菜单项,我最终创建了一个对象 (form1),该对象调用创建 Form1 的对象,在 Form1 中包括创建 Form2 对象的调用,因此无限循环。
【问题讨论】:
-
使用委托和事件从父到子窗体 0r 如果需要,反之亦然。