显示/隐藏一个用户控件

本文关键字:一个 用户 控件 隐藏 显示 | 更新日期: 2023-09-27 18:13:00

我正在摆弄用户控件,我发现自己被难住了。我的表单有2个用户控件,一个标题屏幕和一个主屏幕。我需要让TitleScreen在程序运行时可见,然后在点击"新游戏"按钮时不可见,此时主屏幕需要可见。遗憾的是,我不知道该怎么做。

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)。

显示/隐藏一个用户控件

您可以使用ParentForm,这是UserControl上的属性来获取对父窗体的引用。

((YourFormsExactType)(this.ParentForm)).ControlMainScreen.Visible = false;

在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);
}