2011-01-12 2 views
1

나는 응용 프로그램을 시작할 때만 호출해야하는 몇 가지 방법이 있습니다. 응용 프로그램이 "일시 중지"상태에 있었다 (쉘이 표시됩니다)과 reactived 경우,Microsoft Surface : 시작 중에 만 호출되는 메서드를 정의 할 위치는 어디입니까?

private void OnApplicationActivated(object sender, EventArgs e) 
{ 
    Sound.loadSounds();    
    GetLocalProjects(); 
    GetProjects();    
} 

을하지만 OnApplicationActivated라는 isalso : 지금, 나는 OnApplicationActivated의 방법을 배치. 어떻게 이것을 피할 수 있습니까? 시작하는 동안에 만이 메서드를 호출하고 싶습니다.

답변

1

가지고 올 수있는 최고의 빠른 솔루션,하지만 같으면 초기화가 완료되었는지 여부를 확인하기 위해 부울 인스턴스 변수를 사용하는 것이 쉬운 해결 방법이 아닙니까?

bool _isInitialized = false; 
private void OnApplicationActivated(object sender, EventArgs e) {  
    if(!_isInitialized){ 
    Sound.loadSounds(); 
    GetLocalProjects(); 
    GetProjects();   
    _isInitialized = true; 
    } 
} 
+0

롤 같은 생각 ... 작지만 다른 접근 방식이 작동해야합니다 –

+0

하하, yepp ... 어쩌면 당신은 긍정적 인 종류이며 나는 부정입니다. 부울의 초기 값에 관해서 :) – Ozzy

+0

좋습니다. ,하지만 어쨌든, 내장 함수를 찾을 수 없다면, 악 이건 – RoflcoptrException

0
boolean startup = true; 
private void OnApplicationActivated(object sender, EventArgs e) 
{ 
    If (startup) 
    { 
    Sound.loadSounds();    
    GetLocalProjects(); 
    GetProjects(); 
    startup = false; 
    }   
} 

엮은 할 수있는 몇 가지 다른 이벤트가있는 경우 나는 당신을 말할 수 있도록 나는 마이크로 소프트 서피스에 대해 아무것도 몰라 내가

0

비 표면 애플리케이션의 경우 어떻게합니까? 기본 창에서 OnInitialized를 재정의하십시오.

관련 문제