Форма не прорисовывается из-за потоков - C#
Формулировка задачи:
вот код на си шарпе, почему таймер так быстро считает, а в форме не видно изменения цифр
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace timer { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { int час, минута, секунда; час = int.Parse(textBox1.Text); минута = int.Parse(textBox2.Text); секунда = int.Parse(textBox3.Text); int pause=0; while (секунда > 0) { --секунда; string буфер = Convert.ToString(секунда); while(pause<10000) { ++pause; } textBox3.SelectAll(); textBox3.Clear(); textBox3.Paste(буфер); pause = 0; } } private void button2_Click(object sender, EventArgs e) { textBox3.Text = "0"; textBox2.Text = "0"; textBox1.Text = "0"; } } }
Решение задачи: «Форма не прорисовывается из-за потоков»
textual
Листинг программы
public partial class Form1 : Form { Timer timer; Random rand; public Form1() { InitializeComponent(); rand = new Random(); timer = new Timer(); timer.Interval = 100; timer.Tick += new EventHandler(timer_Tick); //подписываемся на событие timer.Start(); //Запускаем таймер, только после этой строки начнётся работа таймера } //обработчик события Tick таймера timer void timer_Tick(object sender, EventArgs e) { Text = rand.Next(50000).ToString(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д