2013-12-23 5 views
0
for (int i = 0; i < service.journeys.Count; i++) 
{ 
    var popup = new JourneyPopup(); 

    // Fill out the form 
    popup.txtJourney.Text = service.journeys[i].journeyCode; 
    popup.txtDays.Text = service.journeys[i].daysOfWeek; 
    popup.txtDeparture.Text = service.journeys[i].departureTime; 
    popup.txtOrigin.Text = service.journeys[i].description; 

    popup.Show(); 
} 

В моей форме JourneyPopup у меня есть кнопка «done». Мне нужно повторить цикл for, только после нажатия «done». Как я могу это сделать?Iterate for loop после пользовательского ввода

+0

Используйте событие щелчка. http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.click(v=vs.110).aspx –

+0

@DROPtableusers Конечно, но как я могу приостановить цикл for while он ждет события click? – jskidd3

ответ

5

Вы можете попробовать функцию .ShowDialog(). Он не вернется, пока диалог/форма не будет закрыта.

+0

Отлично, спасибо! – jskidd3

0

Я предполагаю, что это приложение WinForm и JourneyPopup происходит от Form. Затем в дизайнере форм вы можете указать кнопке значение пользовательского значения, которое будет возвращено методами Form.Show() при нажатии кнопки.

В конце своего цикла, то вы можете проверить это:

if (popup.ShowDialog() != <Returnvalue from button>) 
{ 
    break; 
} 
+0

Вы принимаете WinForms или WPF? Функция существует в обоих, но имеет разные значения возврата. – fredrik

+0

WinForms. Даже не знал, что метод (Show) (Show)() также существует в WPF. –