我的应用程序(命名空间)有一个包含面板(面板)的主表单(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'
需要对象引用
我不确定如何解释错误以解决问题。
答案 0 :(得分:2)
好的,假设你有一个名为namespace.class
的类包含一个名为panel
的成员,编译器告诉你,你似乎试图通过类本身访问panel
而不是比一个类的实例(即一个对象)。要创建class
的实例,请执行以下操作:
namespace.class c = new namespace.class();
然后,您可以访问该对象上名为panel
的属性或字段:
c.panel.Controls.Clear();
注意:您的命名选择非常差。调用命名空间namespace
或类class
只是在寻找麻烦。以下是一些推荐的命名约定:
更新:仔细阅读您的问题后,您似乎正在尝试向Form
添加Panel
。一旦你完成了这个编译问题,你将开始得到运行时错误,因为这不是Windows Forms的工作方式。您无法将Form
放入Panel
。 Forms
是顶级UI元素。老实说,我不明白你的目标,而是建议做什么。