0
私は基本的なタイマを作成し、起動ボタンをクリックするたびにプログラムが完全にフリーズすることにしました。私は何か明白な何かを逃している?ボタンをクリックした後、Windowsのfourmがクラッシュする
namespace Timer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btn_Start_Click(object sender, EventArgs e)
{
int secs = 0, mins = 0, hours = 0;
for (int num1 = 1; num1 > 0;)
{
txt_secs.Text = secs.ToString() ;
System.Threading.Thread.Sleep(1000);
secs = secs + 1;
if (secs == 60)
{
secs = 0;
mins = mins + 1;
txt_mins.Text = mins.ToString();
}
if (mins == 60)
{
mins = 0;
hours = hours + 1;
txt_hours.Text = hours.ToString();
}
}
}
}
}
あなたは多分あなたのためのループでNUM1をインクリメントしていませんか? – MoonBoots89
フォームアプリケーションのUIスレッドで 'System.Threading.Thread.Sleep(1000);'を実行しないでください。無限ループがあります。 –
forループ( 'num1 <= 100'のような)の終了条件を定義するか、完了したらループを抜けます。定期的なジョブでは、別のスレッドで実行され、ユーザインタフェースをブロックしない 'System.Timer'を使います。 – dlatikay