К числу постоянно прибавлять единицу раз в несколько секунд, пока не выполнится условие - C#

Узнай цену своей работы

Формулировка задачи:

привет нужно чтобы к числу постоянно +1 раз в несколько секунд пока не выполнится условие но моя прога просто делает +1 в текстБокс и выводит сразу много значений в лт=истбокс
private void button1_Click_1(object sender, EventArgs e)
        {

            int t1 = Convert.ToInt32(textBox1.Text);
            int tt = Convert.ToInt32(textBox2.Text);
 
            while (t1 < tt)
            {
                t1++;
                textBox3.Text = (Convert.ToInt32(textBox1.Text) + 1).ToString();
                listBox1.Items.Add(t1 + 0 );
            }
 
        }
пробовал с таймером работать но не получилось для моего случая Сделать так, чтобы каждую секунду в TextBox попадало значение таймера результат попыток http://www.cyberforum.ru/attachments/509807d1428087207 само задание http://www.cyberforum.ru/attachments/509610d1428064565

Решение задачи: «К числу постоянно прибавлять единицу раз в несколько секунд, пока не выполнится условие»

textual
Листинг программы
using System;
using System.Windows.Forms;
 
namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        Timer timer = new Timer();
        const int timeReload = 2; // задержка между проверками
        int timerTime = timeReload; // текущее время таймера
 
        int temperature; // нужная температура
        int currentTempterature; // текущая температура
 
        int speed; // скорость
        int currentSpeed; // текущая скорость
 
        public Form1()
        {
            InitializeComponent();
            timer.Interval = 1000; // один тик в секунду
            timer.Tick += new EventHandler(timer_Tick); // подписываемся на событие тик
        }
 
        private void timer_Tick(object sender, EventArgs e)
        {
            timerTime++;
 
            if (timerTime >= timeReload)
            {
                timerTime = 0;
 
 
                if (currentTempterature < temperature)
                {
                    if (currentSpeed > 0)
                        currentSpeed--;
 
                    currentTempterature++;
                }
                else if (currentTempterature > temperature)
                {
                    currentSpeed++;
 
                    if (currentTempterature > 0)
                        currentTempterature--;
                }
                else
                {
                    timer.Stop();
                }
            }
 
            tb_currentTemp.Text = currentTempterature.ToString();
            tb_currentSpeed.Text = currentSpeed.ToString();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            temperature = int.Parse(tb_temp.Text);
            currentTempterature = int.Parse(tb_currentTemp.Text);
 
            speed = int.Parse(tb_speed.Text);
            currentSpeed = speed;
 
            timer.Start();
        }
    }
}

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


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

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

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