using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp14
{
enum TimerState { Enabled, Disabled };
public partial class Form1 : Form
{
TimerState state;
TimeSpan remain;
public Form1()
{
state = TimerState.Disabled;
remain = TimeSpan.Zero;
InitializeComponent();
}
private void btnStart_Click(object sender, EventArgs e)
{
if (state == TimerState.Disabled)
{
btnStart.Text = "Stop";
numMin.Enabled = numSec.Enabled = false;
state = TimerState.Enabled;
remain = new TimeSpan (0, (int)numMin.Value,
(int)numSec.Value);
lblOut.Text = remain.ToString(@"mm\:ss");
}
else
{
btnStart.Text = "Pusk";
numMin.Enabled = numSec.Enabled = true;
numMin.Value = remain.Minutes;
numSec.Value = remain.Seconds;
state = TimerState.Disabled;
}
}
private void timer_Tick(object sender, EventArgs e)
{
if (state == TimerState.Disabled)
{
}
else
{
remain = remain.Subtract(new TimeSpan(0, 0, 1));
lblOut.Text = remain.ToString(@"mm\:ss");
if (remain == TimeSpan.Zero)
{
btnStart.Text = "Pusk";
numMin.Enabled = numSec.Enabled = true;
numMin.Value = numSec.Value = 0;
state = TimerState.Disabled;
MessageBox.Show("Время заданного интервала истекло!", "Таймер", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
private void numTime_ValueChanged(object sender, EventArgs e)
{
if (state == TimerState.Disabled)
{
if ((int)(numMin.Value) != 0 || numSec.Value != 0)
btnStart.Enabled = true;
else
btnStart.Enabled = false;
}
else
{
}
}
}
}