什么是在C#中切换表单的最佳方式

时间:2013-10-09 00:42:15

标签: c# .net winforms visual-studio-2012

因此,在我计划的项目中,用户将经常在不同的屏幕之间切换。这些不同的屏幕将具有不同的功能,并没有任何共同点。

我应该为每个屏幕创建一个表单,只需要form.close和form.show(?)来切换屏幕吗?或者保持隐藏和显示某些控件更好,所以如果用户想从表单A转到表单B,表单A的所有控件都会消失,并且会出现表单Bs控件?我不需要知道怎么做,我只需要知道哪种是推荐或正确的方式,因为我没有在任何地方看到它。

2 个答案:

答案 0 :(得分:3)

你不应该使用

form.close();

因为这将关闭当前表单(如果它是您的主表单,退出应用程序)使用

form.hide();

代替。下面给出一个例子

来自Form1:

private void btnModify_Click(object sender, EventArgs e)
{
Form mod = new modifyForm();
mod.Owner = this;
mod.Show();
this.Hide();
}//end btnModify_Click
来自modifyForm的

private void btnCancel_Click(object sender, EventArgs e)
{
    this.Owner.Show();
    this.Close();

}

答案 1 :(得分:2)

您也可以尝试使用TabControl。您可以将不同的屏幕分组到不同的选项卡中。您所要做的就是将其拖到表单并在“属性”窗口中编辑其内容。