【发布时间】:2011-03-18 11:17:11
【问题描述】:
我有一个 MainForm,它是 MDI 容器。在 MainForm 中,我创建了 2 个新表单,它们在 buttonclick 上打开 - Form1 和 Form2。还有第三种形式 - CommonFom,我应该可以从 Form1 和 Form2 中打开它(在 buttonclick 上)。如果我在 Form1&2 之间切换,我需要 3rd Form 来保存信息,所以我不能从 Form1&2 创建它的新实例。 我试图在 MainForm 中做这样的事情:
CommonForm CF = new CommonForm();
Form1 x = new Form1(CF);
Form2 y = new Form2(CF);
之后,在 Form1 和 Form2 中:
public MainForm(CommonForm theCF)
{
InitializeComponent();
}
...按钮点击的某处
CF.show();
但它在 Form1 中显示错误,而不是没有对象 CF 的实例(在 CF.Show() 行中) 那么我该如何正确地做到这一点呢?
【问题讨论】:
-
本来打算建议使用 My.Forms 应用程序框架,它可以出色地处理常见表单,但 C# 似乎不支持!
-
很不清楚。为什么不将 theCF 参数值存储在构造函数中? Show() 调用的位置究竟在哪里?改进你的 sn-ps。
标签: c# winforms parameters