Не является хорошим решением сделать цикл for
или while
для ожидания ввода пользователя. Не делайте этого. Ваша программа будет постоянно работать в ожидании условия, чтобы вывести ее из цикла. Вместо этого вы должны найти решение, используя события или другое.
Если вы не хотите использовать решение Form.ShowDialog()
, предложенное в комментариях к вашему вопросу, вы можете придумать что-то вроде этого:
Иметь глобальную переменную, которая содержит индекс элемента listBox, над которым мы работаем:
int currentItemIndex;
Добавьте событие Click
на кнопку Submit
. Когда пользователь нажимает Submit
, он вызывает метод, который обработает следующий элемент listBox
:
private void buttonSubmit_Click(Object sender, EventArgs e) {
// Process next listBox item
ProcessNextItem();
}
Метод, который обрабатывает следующий элемент listBox
:
private void ProcessNextItem() {
currentItemIndex += 1;
if (currentItemIndex >= listBox.Items.Count) {
// We have gone through all listBox items
// Do nothing
} else {
// Fill predefined information to the website
website.SomeField = listBox.Items[currentItemIndex].SomeField; // Whatever you do to fill predefined information
}
И вызывать метод при запуске (пользователь не нажимает Submit
до обработки первого элемента listBox
):
private void Start() {
currentItemIndex = -1;
ProcessNextItem();
}