3

我有 1 个包含 1 个面板控件的 MDI 表单和 1 个带有 1 个按钮的表单,用于使 MDI 中的面板不可见。

MDI形式的代码:

    public void displayInit()
    {
        panel1.Visible = false;
    }

Form1中的代码:

        private void button1_Click(object sender, EventArgs e)
    {
        displayInit();
    }

错误是:当前上下文中不存在名称“displayInit”,请问有什么建议吗?

4

2 回答 2

4

尝试引用父级(并转换它):

((MyMDIForm)this.MDIParent).displayInit();

不过,这可能不是最好的方法。考虑让子窗体向 MDI 父窗体引发事件。关注点分离。

于 2012-08-15T16:01:55.780 回答
0

该方法displayinit()是一个实例方法,因此您需要一个实例来调用它

MyMDIForm.displayInit();

在构造 MDI 表单时保留对它的引用,并在调用它的方法时使用该引用。

于 2012-08-15T16:01:47.587 回答