如何回到c#中的上一个表单?

时间:2013-12-10 20:36:26

标签: c#

我一直在寻找一种方法来回到c#中的前一个表单。我正在构建一个Bike Builder程序,基本上它可以让你查看你想要的部分,然后回到以前的表格并编辑你的购物车。

表单2将是购物表单,您可以在其中选择/取消选择您的产品。 表格3将是一个评论表格,它将显示您到目前为止已放入购物车的部件数量,显示总数。在表单3中,将有一个名为“BACK”的按钮,它将让您返回到表单2并更新您的购物车。

// This is form 2
public partial class frmSelectParts : Form
{
// variables and functions
// .......

    public frmSelectParts()
    {
        InitializeComponent();
        this.WindowState = FormWindowState.Maximized;
    }
}

//This is form 3
public partial class frmYourCart : Form
{
    public frmYourCart()
    {
        InitializeComponent();
        this.WindowState = FormWindowState.Maximized;            
        cbbShipping.Items.Add("Standard 5 - 10 days");
        cbbShipping.Items.Add("Express 3 - 5 days");
        cbbShipping.Items.Add("Over night 1 day");
    }
}

3 个答案:

答案 0 :(得分:3)

你可以像Justin建议的那样做Close,或者你可以使用frmYourCart.Hide()frmSelectParts.Show()。使用Close会导致显示frmSelectParts表单,这取决于您是否希望隐藏其中的更改。

答案 1 :(得分:2)

这不完全是你要求的但是......如果可能的话,你只能创建一个表格并添加一个TabControl。然后,您可以为每个任务分配一个选项卡。

用户可以使用选项卡标题返回,或者您仍然可以使用后退按钮并使用SelectTab()方法显示上一个选项卡。

要避免使用多个后退按钮,可以将其放在表单上的TabControl之前。在后退按钮的单击事件上,您将执行以下操作:

    if (tabControl.SelectedIndex > 0) // Higher than first tab
       tabControl.SelectTab(tabControl.SelectedIndex - 1);

答案 2 :(得分:0)

如果我是你,我只需在您要显示的表单上调用.Show()方法,然后在您要离开的表单上调用.Hide()(或.Close())。< / p>

购物表格

private void btnReview_Click(object sender, EventArgs e)
{
   reviewForm frmReview = new reviewForm();
   frmReview.Show();
   this.Hide();  // You could also call this.Close() instead.
}   

摘要表格

private void btnBack_Click(object sender, EventArgs e)
{
   frmSummary frmSummary = new frmSummary();
   frmSummary.Show();
   this.Hide();  // You could also call this.Close() instead.
}