2009-07-17 39 views
9

Tôi muốn thêm bộ hẹn giờ thay vì bộ đếm ngược tự động khởi động khi tải tải biểu mẫu. Thời gian bắt đầu sẽ là 45 phút và sau khi kết thúc, tức là khi đạt đến 0 phút, biểu mẫu sẽ kết thúc bằng thông báo được hiển thị. Tôi có thể làm cái này như thế nào?Thêm bộ hẹn giờ vào ứng dụng Windows Forms

Ngôn ngữ: tốt hơn là C#.

+2

bạn có gì cho đến nay? –

+0

Cá nhân, tôi thích được giúp đỡ với bài tập về nhà. Từ khóa là * help *. Vì vậy, tại sao chúng ta * làm * bài tập về nhà của một ai đó mà không có một số nỗ lực hợp lý để cho chúng ta thấy một nỗ lực? – IAbstract

Trả lời

32

Bit hơn:

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 rất nhiều ... nó làm việc .... thực sự ima tươi hơn trong prog vì vậy tôi sẽ thực sự đánh giá cao nếu u giải thích cho tôi như thế nào nó works.especially hai dòng: MyTimer.Tick + = new EventHandler (MyTimer_Tick) ; MyTimer.Start(); và lý do tại sao 1000 ?? nghĩa là trong 45 * 60 * 1000 .... và tôi muốn hiển thị thời gian (đếm ngược) hiển thị trong nhãn hoặc một số ngày như dat trên biểu mẫu ... thanx – knowledgehunter

+0

MyTimer.Tick + = EventHandler mới (MyTimer_Tick); Bộ hẹn giờ có sự kiện được gọi là Đánh dấu khi khoảng thời gian đã đặt trôi qua. Trong trường hợp này, chúng ta đang nói rằng chúng ta muốn gọi phương thức MyTimer_Tick khi sự kiện tick xảy ra. MyTimer.Interval = (45 * 60 * 1000); Khoảng thời gian của bộ đếm thời gian bằng mili giây và do đó tôi đã sử dụng phép tính thay vì chỉ tính toán câu trả lời và dán vào giá trị. Tôi nghĩ điều này làm cho nó dễ hiểu hơn một chút. – Tim

+0

thanx ... tôi hiểu ... bt wat về việc hiển thị đếm ngược ở dạng ?? – knowledgehunter

1

Nội dung như thế này trong biểu mẫu chính của bạn. Nhấp đúp vào biểu mẫu trong trình chỉnh sửa trực quan để tạo sự kiện tải biểu mẫu.

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

Sau đó thêm trình xử lý sự kiện để thực hiện điều gì đó khi hẹn giờ kích hoạt. chi tiết

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

thanx ... nó hoạt động .... nhưng làm cách nào tôi hiển thị đếm ngược trên biểu mẫu? – knowledgehunter

-3

Tải http://download.cnet.com/Free-Desktop-Timer/3000-2350_4-75415517.html

Sau đó, thêm một nút hoặc một cái gì đó về hình thức và bên trong sự kiện của mình, chỉ cần mở ứng dụng này ví dụ:

{

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

}

+2

Đây là một giải pháp khủng khiếp ... tải xuống Bộ đếm thời gian bên thứ ba, pffft. Tại sao bạn không sử dụng bộ điều khiển Timer chuẩn? Bạn có phải là tác giả của thành phần này không? –

+0

Tôi là người mới bắt đầu .. Nhưng thực sự làm thế nào để có thể hiển thị điều khiển hẹn giờ trong thời gian chạy? như bộ đếm thời gian của bên thứ ba ... xin trả lời nếu bạn biết .. –

+0

Private Sub timer1_Tick (người gửi Là Đối tượng, e Như EventArgs) Dim diff Như New TimeSpan() diff = DateTime.Now.Subtract (startTime) lblTime.Text = diff .Hours & ":" & diff.Minutes.ToString ("00") & ":" & diff.Seconds.ToString ("00") lblTime.Invalidate() End Sub –

Các vấn đề liên quan