显示/隐藏另一个用户控件

时间:2013-05-09 05:35:43

标签: c# winforms

我正在修改用户控件,我发现自己很难过。我的表单有2个用户控件,一个TitleScreen和一个MainScreen。我需要在程序运行时显示TitleScreen,然后在单击“新游戏”按钮时不可见,此时需要显示MainScreen。不幸的是,我无法弄清楚如何做到这一点。

FormMain.cs

    #region Property Region

    public UserControls.MainScreen ControlMainScreen
    {
        get { return controlMainScreen; }
    }

    #endregion

    #region Constructor Region

    public FormMain()
    {
        InitializeComponent();

        controlMainScreen.Visible = false;
    }

    #endregion 

TitleScreen.cs

    public void btnNewGame_Click(object sender, EventArgs e)
    {
        this.Visible = false;
        FormMain.ControlMainScreen.Visible = true;
    }

显然它不起作用,但我已经尝试了所有我知道怎么做的事情。我也不知道如何使controlMainScreen静态,因为我实际上没有做声明(VS做了)。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

您可以使用UserControl((YourFormsExactType)(this.ParentForm)).ControlMainScreen.Visible = false; 的属性来获取对父表单的引用。

{{1}}

答案 1 :(得分:1)

在Win项目上添加用户控件,然后动态添加到表单。

以下是代码:

public Show_hideControl()
{
    InitializeComponent();

    //Adding First User control
    Main _main = new Main();        

    panel1.Controls.Add(_main);
}

private void button1_Click(object sender, EventArgs e)
{
   //removing already added user control
   panel1.Controls.Clear();            
   //Adding second user control
   Alternative _alter = new Alternative();
   panel1.Controls.Add(_alter);
}