2014-01-16 5 views
-2

balloontip을 클릭 할 때까지 반복 while 루프가 필요합니다. 어떻게해야합니까? 사이먼 화이트 헤드에 의해 제안while 루프 balloontipclick 조건으로

while(/*Here, I want the loop to end when the Norm.BalloonTipClicked occurs*/) 
       { 
        Norm.ShowBalloonTip(10000); 
        System.Threading.Thread.Sleep(10000); 
        `enter code here` 
        System.Threading.Thread.Sleep(60000); 
       } 

이 플래그를 사용

+5

왜? 'NotifyIcon'은'Click' 이벤트를 가지고 있습니다 : http://msdn.microsoft.com/en-us/library/system.windows.forms.notifyicon.click(v=vs.110).aspx –

+0

하지만 시도해 보았습니다. Click 이벤트를 사용하면 루프를 종료한다는 의미입니다. 아마도 더 명확하게 설명하기 위해, 위의 루프는 무한 루프에 중첩되어 있습니다. –

+0

계속할 것인지를 나타내는 일종의 플래그를 사용하십시오. 무슨 뜻인지보고 싶니? –

답변

0

(당신은 아마 실현으로, '규범'알림 아이콘의 이름을 참조), 그 문제를 해결할 수 있었다. 아래 코드를 사용하면 모든 것이 작동합니다!

bool for3 = false; 
        for (; ;) 
        { 
         Norm.ShowBalloonTip(10000); 
         System.Threading.Thread.Sleep(10000); 
         Application.DoEvents(); 
         if (loopVariable) 
          for3 = true; 
         if (for3) break; 
         System.Threading.Thread.Sleep(60000); 

        } 
private static bool loopVariable = false; 

    void Norm_BalloonTipClicked(object sender, EventArgs e) 
    { 
     loopVariable = true; 
    } 

모든 도움을 주신 Simon Whitehead에게 감사드립니다. 대단히 감사합니다.