@exper1ment

Как в шарпе реализовать посимвольный вывод текста на форму (эффект печатающей машинки)?

Нужно в label или textbox реализовать посимвольно печатающийся текст.
При запуске программы она просто зависает и потом разом все выводит. Пробовал через BeginInvoke, Threading.Thread - не получается.
Последний раз пробовал навесить таймер:
private void timer1_Tick(object sender, EventArgs e)
        {
            foreach (char ch in textChar)
            {
                System.Threading.Thread.Sleep(10);
                textBox1.Text += ch;
                AboutBox1_Load(sender, e);
            }
        }
            }

В какую сторону копать?
  • Вопрос задан
  • 2796 просмотров
Решения вопроса 1
NeiroNx
@NeiroNx
Программист
Потому что надо выполнять операции обновления интерфейса после каждой добавленной буквы.

Через таймер нужно так:
Надо временную переменную в которой будет храниться текст который не выведен.
Таймер вызывается каждые 300 миллисекунд берет первый символ из этой переменной и добавляет к тексту. Переменную меняет на на все что после первого символа. Если переменная стала пустой - таймер остановить, так как текст из переменной плавно перетек в поле.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@andoral
Попробуй вызвать Update на форме
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы