2011-02-24 4 views
0

변수 클래스가 있습니다. 보유 정보는 사용자가 볼 수 있도록 너무 자주 업데이트됩니다. 그래서 타이머를 사용하여 매 초마다 GUI를 업데이트하고 싶습니다. 코드는 다음과 같습니다.타이머가있는 클래스 함수 호출

public Variable() 
    { 
     TimerInit(); 
     _value.timestamp = 0; 
     _value.value = 0; 

    } 

    private void TimerInit() 
    { 

     _UpdateTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent); 
     // Set the Interval to 5 seconds. 
     _UpdateTimer.Interval = 5000; 
     _UpdateTimer.Enabled = true; 
     _UpdateTimer.Stop(); 
    } 

    private static void OnTimedEvent(object source, ElapsedEventArgs e) 
    { 
     this.VariableChange.Invoke(this, new VariableChangeEventArgs() { value = Value }); // invoking the gui 
    } 

문제를 발견 할 수 있습니다. 이것은 정적 기능입니다. 내 물건에 어떻게 가야합니까? 주어진 소스 객체는 데이터를 보유하고 있지 않기 때문에 도움이되지 않습니다. 변수 클래스를 정적으로 만들 수는 없습니다.

모든 예제와 도움말은 콘솔을 호출하는 것과 관련되어 있습니다. 이것은 어렵지 않지만 MSDN의 문서조차 도움이되지 않습니다.

희망 사항에 따라 나를 해독 할 수 있습니다.

토마스

+0

왜 'OnTimedEvent'가 정적이어야합니까? –

+1

이벤트 hendler 선언에서 static 키워드를 삭제하십시오! –

+0

_UpdateTimer 정적 필드입니까? – dzendras

답변

0

그냥 이벤트 핸들러 선언에서 static 키워드를 제거!

+0

Viacheslav Smityukh 님의 댓글입니다. – svick