Запустить цифровые часы в WinForm

Привет, мне нужно создать форму Windows Form с простым текстовым полем. Текстовое поле содержит таймер в виде текста (формат 00:00).

Я хочу обновлять страницу каждую секунду и соответствующим образом изменять содержимое текстового поля. (Так же, как цифровые часы, работающие, скажем, один час!).

Я понял, что мне нужно использовать класс System.Windows.Forms.Timer , и я перенес элемент Timer из ToolBox в свою форму.

Что дальше ... Мне нужно использовать функцию Thread.Sleep (1000) ... какие-нибудь идеи?

Вот фрагмент кода, который я пробовал. Я знаю, где в программе что-то не так, а часть thread.sleep () даже ухудшает выполнение моего кода. Я попробовал использовать таймер в ToolBox, но не смог. (Когда я запускаю код, он успешно компилируется, а затем приложение зависает на один час из-за грязных циклов For-Loops).

  public  partial class Form1 : Form
{
    Button b = new Button();
    TextBox tb = new TextBox();
    //System.Windows.Forms.Timer timer1 = new System.Windows.Forms.Timer();

    public Form1()
    {
        b.Click += new EventHandler(b_click);
        b.Text = "START";
        tb.Text = "00 : 00";
        //timer1.Enabled = true;
        //timer1.Interval = 1000;
        tb.Location = new Point(100, 100);
        this.Controls.Add(tb);
        this.Controls.Add(b);
        InitializeComponent();
    }

    private void refreshTimer_Tick()
    {

       for (int i = 0; i < 60; i++)
        {
            for (int j = 0; j < 60; j++)
            {
                Thread.Sleep(500);
                string TempTime = string.Format("{0:00} : {1:00}",i,j);
                tb.Text = TempTime;                    
                Thread.Sleep(500);

            }
        }
    }
    public void b_click(object sender, EventArgs e)
    {
        refreshTimer_Tick();

    }
}
6
задан LarsTech 30 December 2011 в 14:56
поделиться