在面板和类之间传递信息

时间:2016-06-30 20:55:38

标签: c#

我的应用程序(命名空间)有一个包含面板(面板)的主表单(Form)。

当主表单加载时,它会将子表单调用到它的面板中。该子表单充当启动页面。它上面有一个“启动”按钮。单击该按钮时,子窗体应隐藏,并且新窗体应加载到面板中。

    private void buttonLaunch_Click(object sender, EventArgs e)
    {
        this.Hide();
        Hub NewHub = new Hub();
        NewHub.TopLevel = false;
        NewHub.AutoScroll = true;
        Master.panelMaster.Controls.Clear();
        Master.panelMaster.Controls.Add(NewHub);
        NewHub.FormBorderStyle = FormBorderStyle.None;
        NewHub.Show();
    }

我收到了错误:

  

错误1非静态字段,方法或属性'Manager_0._2.Master.panelMaster'

需要对象引用

我不确定如何解释错误以解决问题。

1 个答案:

答案 0 :(得分:2)

好的,假设你有一个名为namespace.class的类包含一个名为panel的成员,编译器告诉你,你似乎试图通过类本身访问panel而不是比一个类的实例(即一个对象)。要创建class的实例,请执行以下操作:

namespace.class c = new namespace.class();

然后,您可以访问该对象上名为panel的属性或字段:

c.panel.Controls.Clear();

注意:您的命名选择非常差。调用命名空间namespace或类class只是在寻找麻烦。以下是一些推荐的命名约定:

Naming Guidelines

更新:仔细阅读您的问题后,您似乎正在尝试向Form添加Panel。一旦你完成了这个编译问题,你将开始得到运行时错误,因为这不是Windows Forms的工作方式。您无法将Form放入PanelForms是顶级UI元素。老实说,我不明白你的目标,而是建议做什么。