Форма не прорисовывается из-за потоков - 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();
}
}