C# 用户控制连接

C# 用户控制连接,c#,c#-4.0,C#,C# 4.0,我已经创建了具有多个用户控件的kiosk系统,需要使用ColdLink用户控件中的按钮连接热饮料用户控件 当我使用以下代码时,它会同时显示两个用户控件,并在ColdLinks下显示热饮料。我需要先隐藏ColdLinks,然后显示热饮料。 我认为需要在这里使用子和父连接,但不知道如何做到这一点。请帮帮我 OrderTakingMenu ordertakingmenu; HotDrinks hotDrinks; public UserControl currentPanel; public Co

我已经创建了具有多个用户控件的kiosk系统,需要使用ColdLink用户控件中的按钮连接热饮料用户控件

当我使用以下代码时,它会同时显示两个用户控件,并在ColdLinks下显示热饮料。我需要先隐藏ColdLinks,然后显示热饮料。 我认为需要在这里使用子和父连接,但不知道如何做到这一点。请帮帮我

OrderTakingMenu ordertakingmenu;
HotDrinks hotDrinks;

public UserControl currentPanel;

public ColdDrink(OrderTakingMenu ordertakingmenuIn)
{
    InitializeComponent();
    this.Location = new System.Drawing.Point(5, 100);
    ordertakingmenu = ordertakingmenuIn;
}

private void btnHotDrinks_Click(object sender, EventArgs e)
{
    removePreviousPanel();
    currentPanel = new HotDrinks(ordertakingmenu);
    this.Controls.Add(currentPanel);
}

private void removePreviousPanel()
{
    this.Controls.Remove(currentPanel);
}

我会使用可见属性。首先在窗体上添加两个用户控件,并使它们彼此重叠(两个控件位于同一位置,大小相同)


我尝试了这个回复,但它不工作,并且在运行时显示错误“对象引用未设置为对象的实例”。谢谢你的帮助,请告诉我你的想法。将两个用户控件都添加到设计器中。这将创造它们。确保在调用InitializeComponent()之前不访问它们。
public ColdDrink(OrderTakingMenu ordertakingmenuIn)
{
    InitializeComponent();
    this.Location = new System.Drawing.Point(5, 100);
    ordertakingmenu = ordertakingmenuIn;
    coldDrinksPanel.Visible = true;
    hotDrinksPanel.Visible = false;
}

private void btnHotDrinks_Click(object sender, EventArgs e)
{
    hotDrinksPanel.Visible = true;
    coldDrinksPanel.Visible = false;
}