Ожидание в асинхронной функции ввода текста в TextBox (наподобие консольной readline) - C#
Формулировка задачи:
Есть асинхронная функция, в середине которой требуется дать пользователю доступ к текстбоксу и и ожидать допустим нажатия кнопки для продолжения расчетов и действий описанных в функции. Такое вроде как должно несложно реализовываться, но не знаю куда копнуть чтоб понять что и как.. Использую как асинхронные функции задачи(async Task<bool>..)
Неужели нет идей?
Решение задачи: «Ожидание в асинхронной функции ввода текста в TextBox (наподобие консольной readline)»
textual
Листинг программы
async void AsyncMethod()
{
while (condition)
{
// Тело цикла
...
if (нужен_текст)
{
string text = await GetUserInput();
MessageBox.Show(text);
}
}
}
TaskCompletionSource<string> _textInput;
Task<string> GetUserInput()
{
_textInput = new TaskCompletionSource<string>();
return _textInput.Task;
}
void SetTextButtonClicked(object sender, EventArgs e)
{
if (_textInput != null)
_textInput.SetResult(textBox.Text);
}