こんにちは私は単純なテキストボックスを持つWindowsフォームを設計する必要があります。テキストボックスには、テキスト(00:00形式)のようなタイマーが含まれています。WinFormでデジタル時計を実行
毎秒ページを更新して、それに応じてテキストボックスの内容を変更したいとします。 (まるでデジタル時計のように、1時間走っている!)。
私はSystem.Windows.Forms.Timer
クラスを使用する必要があり、Timer
アイテムをツールボックスからフォームにドロップしました。
次は... Thread.Sleep(1000)
機能を使用する必要がありますか?
ここに私が試みているコードがあります。プログラムのどこが間違っているのか分かりますが、thread.sleep()
の部分では、自分のコードが実行されることがさらに悪化します。私はツールボックスでTimerのものを試しましたが、処理できませんでした(コードを実行すると、正常にコンパイルされ、アプリケーションが1時間汚れた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();
}
}
これまで行ってきたことを確認するには、現在のコードを投稿してください。 – Oded
いいえ、あなたはThread.Sleepを使う必要はありません。質問に答えました... – Reniuz
あなたは疑問が分かりません。それはウェブかどうか?それはあなたがタイマーで毎秒テキストボックスを更新することができない場合はjavascriptを使用する必要があります。タイマーは、何ミリ秒も前のイベントを発生させます。 – albertjan