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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5
Похожие ответы