2009-07-17 5 views
9

양식이로드 될 때 자동으로 시작되는 카운트 다운 대신 타이머를 추가하고 싶습니다. 시작 시간은 45 분으로 끝나면 0 분에 도달하면 양식이 종료되고 메시지가 표시됩니다. 어떻게해야합니까?Windows Forms 응용 프로그램에 타이머 추가

언어 : 선호하는 C#.

+2

지금까지 무엇을 얻었습니까? –

+0

개인적으로, 나는 숙제를 도울 수있는 것을 즐긴다. 핵심 단어 * 도움 *. 그렇다면 왜 우리에게 노력을 보이려는 합리적인 시도없이 누군가의 숙제를하고 있습니까? – IAbstract

답변

32

비트 더 자세히 :

{:

private void Form1_Load(object sender, EventArgs e) 
    { 
     Timer MyTimer = new Timer(); 
     MyTimer.Interval = (45 * 60 * 1000); // 45 mins 
     MyTimer.Tick += new EventHandler(MyTimer_Tick); 
     MyTimer.Start(); 
    } 

    private void MyTimer_Tick(object sender, EventArgs e) 
    { 
     MessageBox.Show("The form will now be closed.", "Time Elapsed"); 
     this.Close(); 
    } 
+0

안녕하세요 형제 고맙습니다 많이 ... 작동했습니다 .... 사실 어떻게 더 prog에서 나는 u가 그것이 작동하는지 특별히 설명 해주시면 감사하겠습니다. MyTimer.Tick + new EventHandler (MyTimer_Tick) ; MyTimer.Start(); 왜 1,000 및 ?? 익스플로러 나 폼 DAT 같은 라벨 또는 somthn의 시간 (카운트 다운) 표시 ... 고맙습니다 표시 할 45 * 60 * 1000 .... 및 – knowledgehunter

+0

MyTimer.Tick + = 새로운 EventHandler (MyTimer_Tick); 타이머에는 설정된 간격이 경과하면 Tick이라는 이벤트가 있습니다. 이 경우 틱 이벤트가 발생할 때 MyTimer_Tick 메서드를 호출하려고한다고 가정합니다. MyTimer.Interval = (45 * 60 * 1000); 타이머의 간격은 밀리 초입니다. 따라서 답을 찾아 값을 고수하는 대신 계산을 사용했습니다. 나는 이것이 조금 더 이해하기 쉽게 만든다고 생각한다. – Tim

+0

고맙습니다 ... 나는 그것을 얻었습니다 ... bt 와트는 형태로 카운트 다운을 표시하는 것에 대해 ?? – knowledgehunter

1

양식 메인에 이와 비슷합니다. 비주얼 편집기에서 양식을 두 번 클릭하여 양식로드 이벤트를 작성하십시오.

Timer Clock=new Timer(); 
Clock.Interval=2700000; // not sure if this length of time will work 
Clock.Start(); 
Clock.Tick+=new EventHandler(Timer_Tick); 

그런 다음 타이머가 작동하면 이벤트 처리기를 추가하여 작업을 수행하십시오.

public void Timer_Tick(object sender,EventArgs eArgs) 
    { 
    if(sender==Clock) 
    { 
     // do something here  
    } 
    } 
+0

고맙습니다 ... 그것은 효과가 있었지만 ... 어떻게 양식의 카운트 다운을 표시합니까? – knowledgehunter

-3

다운로드 http://download.cnet.com/Free-Desktop-Timer/3000-2350_4-75415517.html

은 그럼 그냥 즉,이 응용 프로그램을 열고, 양식에 그 이벤트 안에 버튼이나 뭔가를 추가

Process.Start (@ "C : \ Program Files (x86) \ Free Desktop Timer \ DesktopTimer ");

}

+2

이것은 끔찍한 해결책입니다 ... 써드 파티 타이머, pffft를 다운로드하십시오. 표준 타이머 컨트롤을 사용하지 않는 이유는 무엇입니까? 이 구성 요소의 작성자입니까? –

+0

저는 초보자입니다.하지만 실제로 런타임 중에 타이머 컨트롤을 어떻게 표시 할 수 있습니까? 타사 타이머처럼 ... pls 대답을 알고있는 경우 ... –

+0

Private Sub timer1_Tick (보낸 사람 개체, e EventArgs)로 희미한 diff 새 TimeSpan() diff = DateTime.Now.Subtract (startTime) lblTime.Text = diff .Hours & ":"& diff.Minutes.ToString ("00") & ":"& diff.Seconds.ToString ("00") lblTime.Invalidate() End Sub –

관련 문제