К числу постоянно прибавлять единицу раз в несколько секунд, пока не выполнится условие - C#
Формулировка задачи:
привет
нужно чтобы к числу постоянно +1 раз в несколько секунд пока не выполнится условие
но моя прога просто делает +1 в текстБокс и выводит сразу много значений в лт=истбокс
пробовал с таймером работать но не получилось для моего случая
Сделать так, чтобы каждую секунду в TextBox попадало значение таймера
результат попыток
http://www.cyberforum.ru/attachments/509807d1428087207
само задание
http://www.cyberforum.ru/attachments/509610d1428064565
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 );
}
}Решение задачи: «К числу постоянно прибавлять единицу раз в несколько секунд, пока не выполнится условие»
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();
}
}
}