2013-12-10 2 views
2

Я искал способ вернуться к предыдущей форме в C#. Я создаю программу Bike Builder, и в основном это позволяет вам просматривать нужные вам детали и вернуться к предыдущей форме и отредактировать свою корзину покупок.Как вернуться к предыдущей форме в C#?

Форма 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"); 
    } 
} 
+1

Не было бы ли это эквивалентом вызова 'Close' в вашей третьей форме? –

ответ

3

Вы могли бы сделать, как Джастин предложил и Close или вы могли бы использовать frmYourCart.Hide() и frmSelectParts.Show(). Использование Close приведет к отображению формы frmSelectParts, это зависит от того, хотите ли вы сохранить там свои изменения.

0

Если бы я был на вас, я просто позвонил бы на номер .Show() в форме, которую вы хотите показать, а затем .Hide() (или .Close()) на форме, которую вы оставляете.

Магазины Форма:

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. 
} 
2

Это не совсем то, что вы просили, но .. если это возможно, вы могли бы создать только одну форму и добавить TabControl. Затем у вас может быть одна вкладка для каждой задачи.

Пользователь может вернуться с помощью заголовков вкладок или у вас все еще есть кнопка возврата и использовать метод SelectTab() для отображения предыдущей вкладки.

Чтобы избежать появления более одной кнопки, вы можете разместить ее непосредственно перед TabControl в своей форме. В случае нажатия кнопки «Назад» вы сделаете следующее:

if (tabControl.SelectedIndex > 0) // Higher than first tab 
     tabControl.SelectTab(tabControl.SelectedIndex - 1); 
Смежные вопросы