littleguga
@littleguga
Не стыдно не знать, а стыдно не интересоваться.

Как остановить выполнение кода и продолжить его после определенных условий?

Всем доброго времени суток!
Есть форма1 - в ней выполняется какой-то код, потом вызывается форма2, в ней пользователь вводит данные и нажимает кнопку. Как продолжить выполнение кода в форме один после нажатия кнопки в форме2?
Form2 f = new Form2();
f.Show();
//Пользователь вводит данные в форме2
//Нажимает кнопку
doSomething();
MessageBox.Show("done");


Пока в голову приходит только - загнать в цикл, например
Form2 f = new Form2();
f.Show();
while(isDataWritten){
//а при нажатии на кнопку в форме2 - изменить значение isDataWritten на false
}
doSomething();
MessageBox.Show("done");

Но предчувствие говорит, что это неправильный способ.

Заранее благодарен за ответ!
  • Вопрос задан
  • 7268 просмотров
Решения вопроса 3
@Oxoron
Шарпер
Сделайте в форме2 событие OnConcreteButtonPressed. В первой настройте обработчик (в Вашем случае doSomething), создайте вторую форму, подпишитесь на событие, откройте вторую форму.
В форме1 будет код вроде
Form2 f = new Form2();
f.OnConcreteButtonPressed += doSomething;
f.Show(); // лучше f.ShowDialog();

MessageBox() внесите в doSomething().
Во второй форме при нажатии на кнопку генерируйте событие OnConcreteButtonPressed.
Ответ написан
wtf_object
@wtf_object
Сделать открытую переменную в 2 форме и открыть 2 форму, как диалог (ShowDialog)
Потом проверять и считывать переменную.
Ответ написан
@carbon88
.NET developer/ORM developer
а чем вам Form.ShowDialog() не угодил?

"Имеется возможность использовать этот метод для отображения модального диалогового окна в приложении. При вызове этого метода код, следующий за ним, не выполняется до тех пор, пока диалоговое окно не будет закрыто." (с) MSDN
Как раз то что вам нужно, не?
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Neuroware
@Neuroware
Программист в свободное от работы время
судя по контексту задачи рекомендую гуглить C# InputBox, есть различные реализации именно такой задачи, то есть вывод окна для ввода в него каких либо данных.
Ответ написан
Комментировать
Android97
@Android97
Бэкенд и немного фронтенд разработчик
А если код на 2 части разделить, и продолжить выполнение по нажатию кнопки допустим
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы