Приостановить и возобновить цикл по каждому элементу - PullRequest
0 голосов
/ 12 декабря 2011

У меня есть цикл 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 и дождаться нажатия кнопки?Как мне этого добиться?

Ответы [ 2 ]

4 голосов
/ 12 декабря 2011

Просто измените свой код на:

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(); 
} 
2 голосов
/ 12 декабря 2011

Используйте saveForm.ShowDialog() вместо saveForm.Show()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...