2013-05-21 2 views
0

3 가지 형태가 있습니다. form1을 통해 form2를 입력 할 수 있습니다. 그러면 form1이 사라집니다. form2를 닫으면 form1이 다시 나타납니다. 마찬가지로 우리 Form2를 통해 form3에 입력 할 수있다. (그런 형식 2는 사라질 것이다.) 우리가 form3를 닫으면 형식 2를 다시한다 . (이 I 실패 부분이다.)Winform handling

를 I가 form3를 닫으면 형태되는 form2 대신 form1이 나타납니다. (동일한 인스턴스가 다시 나타나야합니다. '양식의 새 개체 만들기 및 표시'가 허용되지 않습니다.)

도와주세요.

를 Form1 코드 :

 this.ShowInTaskbar = false; 
     this.Visible = false; 
     Form2 f2 = new Form2(); 
     f2.ShowDialog(); 
     this.Visible = true; 
     this.ShowInTaskbar = true; 

Form2의 코드 :

 this.Visible = false; 
     this.ShowInTaskbar = false; 
     Form3 f3 = new Form3(); 
     f3.ShowDialog(); 
     this.Visible = true; 
     this.ShowInTaskbar = true; 
+1

'Form3'의 코드는 어디에 있습니까? – MoonKnight

+0

form_closed 이벤트 코드가 없습니다. – matzone

+0

form3에 대한 닫힌 이벤트 코드가 없습니다. 위의 두 코드 그룹은 버튼 클릭 이벤트로 구현됩니다. 제목 표시 줄 아이콘, form2로 양식을 닫으면 form1 동작이 정상적으로 작동합니다. – jubairusman

답변

1

확실하지,하지만 형식 2의 부모가 Form1이 될 수 있도록 노력 :

form2.Parent=form1; 

또는

f2.ShowDialog(form1); 
,
+0

+1, 내 생각에 당신은 맞습니다 –

+0

설명해 주시겠습니까? @David – jubairusman

+0

@jubairusman, 부모님을 지정하지 않으면 form2가 데스크톱의 부모가된다는 것이 확실하다고 생각합니다. 명시 적으로 부모를 지정 했으므로 form1이 child2 인 form2를 맨 앞으로 가져옵니다. – David