我正在修改用户控件,我发现自己很难过。我的表单有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做了)。任何帮助将不胜感激。
答案 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);
}