2011-12-12 4 views
-1

를 다시 시작 :일시 정지와 나는이처럼 보이는 foreach 루프를 Foreach 루프

foreach (var line in theCP4UnknownList.Distinct()) 
{ 
    var splitUnknowns = line.Split(' '); 
    KTS_Save saveForm = new KTS_Save(splitUnknowns[0], splitUnknowns[1], splitUnknowns[3], splitUnknowns[4], openFile.FileName); 

    saveForm.Show(); 
    saveForm.Activate(); 
    //This is where I would like to add a check to see if a button is clicked, if true continue the foreach loop, else wait for the button to be clicked. 
} 

KTS_Save 양식을 필요로 4 개 텍스트 상자마다 자동으로 채워집니다 필드 (뿐만 아니라 다른 빈들에있다 사용자가 채울 때) foreach 루프가 시작됩니다. 그러나 한 번에 하나의 새 양식 만 열리므로 프로그램은 다음 KTS_Save 양식이 열리기 전에 사용자가 "저장"단추를 클릭 할 때까지 기다려야합니다. 저장 단추는 현재 데이터를 저장합니다 텍스트 파일 형식으로.

foreach 루프를 일시 중지하고 단추를 클릭 할 때까지 기다리는 방법이 있습니까? 이것을 어떻게 할 수 있습니까?

+0

윈폼을? WebForms? 뭐? –

+0

@ JohnSaunders : C# Forms in VS. winforms. – theNoobGuy

+0

그냥 궁금 해서요,하지만 이걸 별도의 실에 넣으려고 계획하는 거죠? 루프가 대기하는 동안이 스레드가 중단됩니다. – MGZero

답변

4

그냥 그에게 코드를 변경 :

foreach (var line in theCP4UnknownList.Distinct()) 
{ 
    var splitUnknowns = line.Split(' '); 
    KTS_Save saveForm = new KTS_Save(splitUnknowns[0], splitUnknowns[1], splitUnknowns[3], splitUnknowns[4], openFile.FileName); 

    saveForm.ShowDialog(); 
} 
+0

와우. 그것은 쉽다. 하하. 고맙습니다 :) 빠른 픽스 – theNoobGuy

+0

@theNoobGuy : 환영합니다 :-) – Fischermaen

2

사용 saveForm.ShowDialog() 대신 saveForm.Show()