public partial class _Default : System.Web.UI.Page
{
private static Stopwatch timer = new Stopwatch();
Thread timeThread = new Thread(timeKeeper);
private static int min = 0, sec = 0;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void startstop_Click(object sender, EventArgs e)
{
timeThread.Start();
if(timer.IsRunning()) {timer.Stop}
else timer.Start();
}
private static void timeKeeper()
{
while (timer.IsRunning)
{
mydelegate();
}
}
private static void mydelegate()
{
_Default temp = new _Default();
temp.Update();
}
private void Update()
{
min = timer.Elapsed.Minutes;
sec = timer.Elapsed.Seconds;
time.Text = min + ":" + sec;
}
}
私がやりたいのは、ストップウォッチを制御するボタンがあることです。クリックすると開始し、もう一度クリックすると停止します。time.text 表示の更新を継続し、ボタンを引き続きクリックできるようにする場合は、スレッドを使用するのが最善の方法であると考えました。上記のプログラムを実行すると、time.text = min + ":" + sec; になります。nullreferenceexception をスローします。これを修正する方法についての助けをいただければ幸いです。私は C#/asp.net でのプログラミングが初めてです。
これよりもデリゲートを操作するより良い方法はありますか。通常の/わかりやすいチュートリアルやブログがあまりないので、それらの使用方法を調べるのに何時間も費やしました