Я пытаюсь создать WritingAnimator, но он зависает при запуске ...
Вот что я сделал:
public partial class Tsia : Form
{
[...]
private void TypeText()
{
WritingAnimator("Some text");
WritingAnimator("This is another text");
}
private void WritingAnimator(string text)
{
foreach (char c in text)
{
TextBox1.AppendText(c.ToString());
Thread.Sleep(100);
}
}
}
Поэтому я искал в Google и нашел способ избежать зависания пользовательского интерфейса с помощью других потоков:
public partial class Tsia : Form
{
[...]
private void TypeText()
{
WritingAnimator("Some text");
WritingAnimator("This is another text");
}
private async void WritingAnimator(string text)
{
foreach (char c in text)
{
TextBox1.AppendText(c.ToString());
await Task.Delay(100);
}
}
}
Но он печатает что-то вроде смеси «Некоторый текст» и «Это другой текст» из-за WritingAnimator («Это другой текст»); не ждите конца WritingAnimator («Немного текста»); ...
Как я мог это исправить?