2009-07-17 2 views
9

Я хочу добавить таймер, а не обратный отсчет, который автоматически начинается, когда форма загружается. Время начала должно составлять 45 минут, и как только оно заканчивается, то есть до достижения 0 минут, форма должна заканчиваться сообщением, отображаемым. Как я могу это сделать?Добавить таймер в приложение Windows Forms

Язык: желательно C#.

+2

что у вас есть? –

+0

Лично мне нравится быть в состоянии помочь с домашней работой. Ключевое слово - * help *. Так почему мы * делаем * чью-то домашнюю работу без какой-либо разумной попытки показать нам усилие? – 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

hey bro thanx много ... это сработало .... на самом деле ima fresher in prog, поэтому я был бы очень признателен, если бы вы объяснили мне, как это работает. Особенно эти две строки: MyTimer.Tick + = new EventHandler (MyTimer_Tick) ; MyTimer.Start(); и почему 1000 ?? то есть в 45 * 60 * 1000 .... , и я хочу отображать отображение времени (обратного отсчета) в метке или somthn как dat на форме ... thanx – knowledgehunter

+0

MyTimer.Tick + = новый EventHandler (MyTimer_Tick); Таймер имеет событие Tick, когда истекает установленный интервал. В этом случае мы говорим, что мы хотим вызывать метод MyTimer_Tick, когда происходит событие tick. MyTimer.Interval = (45 * 60 * 1000); Интервалы таймера в миллисекундах, и поэтому я использовал вычисление, а не просто разработку ответа и прилипание к значению. Я думаю, что это немного облегчает понимание. – Tim

+0

thanx ... я получил это ... bt wat о отображении обратного отсчета в форме? – knowledgehunter

1

Что-то вроде этого в вашей форме main. Дважды щелкните форму в визуальном редакторе, чтобы создать событие загрузки формы.

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

thanx ... это сработало .... но как я показываю обратный отсчет формы? – 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 (отправитель As Object, e As EventArgs) Dim diff As New TimeSpan() diff = DateTime.Now.Subtract (startTime) lblTime.Text = diff .Hours & ":" & diff.Minutes.ToString ("00") & ":" & diff.Seconds.ToString ("00") lblTime.Invalidate() End Sub –

Смежные вопросы