2015-01-18 4 views
-1

뭔가가 완료되면 표시등과 같은 LED 표시 등 (녹색에서 빨간색)을 사용하려고합니다.진행 상태 표시 C#

내 현재 코드는 이런 식입니다 : saveSingleSampleDone 플래그가 스레드 실행에서 실행됩니다

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(); 
    } 
} 

.

문제는 while (!saveSingleSampleDone); 문으로 인해 코드가 멈추고 이러한 쓰기 방법이 깔끔하지 않다는 것입니다.

이벤트의 시작과 끝을 추적하기 위해 스레드에서 타이머를 시작하려고 생각했지만 제 질문은 타이머를 사용하지 않고 표시를 달성하는보다 우아한 방법입니까?

+0

그래서 당신은 LED 플래시 할 수 있습니다 : 타이머가 답이다. 클릭 이벤트 핸들러에서 시작하고 타이머가 만료되면 되돌립니다. 타이머가 만료되기 전에 다른 클릭 이벤트가 발생하면 (타이머를 다시 시작하거나 기존 타이머를 계속 사용하도록 허용하는 것이 의미가 있지만 결정할 필요가있는 경우) 어떤 일이 일어나는지 기억하십시오. – Richard

답변