我正在考虑使用类似LED的指示灯来显示(绿色到红色)。
我目前的代码是这样的:
bool saveSingleSampleDone = false;
private void btnSingleSampleData_Click(object sender, EventArgs e)
{
LEDindicator.Image = global::OnlineData.Properties.Resources.green_indicator;
LEDindicator.Refresh();
while (!saveSingleSampleDone);
if (saveSingleSampleDone)
{
LEDindicator.Image = global::OnlineData.Properties.Resources.red_indicator;
LEDindicator.Refresh();
}
}
从运行的线程触发saveSingleSampleDone
标志。
问题在于代码会因while (!saveSingleSampleDone);
语句而挂起,而且这种写法也不是很整洁。
我正在考虑在线程中启动计时器来跟踪事件的开始和结束,但我的问题是,是否有一种更优雅的方式来实现指示而不使用计时器?