在面板和类之间传递信息
本文关键字:信息 之间 | 更新日期: 2023-09-27 17:54:03
我的应用程序(命名空间)有一个包含面板(panel)的主表单(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"需要对象引用
我不知道如何解释这个错误来解决这个问题。
好吧,假设你有一个名为namespace.class
的类,其中包含一个名为panel
的成员,编译器告诉你,你似乎试图通过类本身而不是类的实例(即对象)访问panel
。要创建class
的实例,执行如下操作:
namespace.class c = new namespace.class();
然后你可以访问该对象上名为panel
的属性或字段:
c.panel.Controls.Clear();
注意:你的命名选择非常糟糕。调用名称空间namespace
或类class
只是自找麻烦。以下是一些推荐的命名约定:
更新:从更仔细地阅读你的问题,似乎你正试图将Form
添加到Panel
。一旦你解决了这个编译问题,你就会开始得到运行时错误,因为这不是Windows窗体的工作方式。你不能把Form
放在Panel
里。Forms
是顶级UI元素。老实说,我不太了解你的目标,无法建议你怎么做。