2013-12-10 2 views
2

저는 C#의 이전 양식으로 돌아갈 길을 찾고있었습니다. 자전거 제작자 프로그램을 작성하고 있으며 기본적으로 원하는 부분을보고 이전 양식으로 돌아가서 장바구니를 편집 할 수 있습니다.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); 
관련 문제