讓任何人都知道如何在Windows窗體應用程序中構建超時功能。在Windows窗體應用程序中設置「超時」功能
該應用程序是事件驅動,但我想用某種方式使用一個計時器倒計時10分鐘,一個計時器滴答,然後我們超時用戶。
我遇到的問題是,如何在每次移動或點擊鼠標時重置計時器。
任何幫助表示讚賞。
乾杯
讓任何人都知道如何在Windows窗體應用程序中構建超時功能。在Windows窗體應用程序中設置「超時」功能
該應用程序是事件驅動,但我想用某種方式使用一個計時器倒計時10分鐘,一個計時器滴答,然後我們超時用戶。
我遇到的問題是,如何在每次移動或點擊鼠標時重置計時器。
任何幫助表示讚賞。
乾杯
您可以使用System.Windows.Forms.Timer
。
您可以將它從工具箱拖到設計器表面。
使用屬性窗口將Interval
屬性設置爲所需的時間間隔(毫秒),Enabled
屬性應設置爲false。
對於負載設置定時器Enabled
屬性爲true。
(樣品中的事件處理程序使用C#編寫的 - 我們對此深感抱歉)
private void Form1_Load(object sender, EventArgs e) { timer1.Enabled = true; }
雙擊計時器滴答事件註冊到事件,並關閉計時器滴答
形式 private void timer1_Tick(object sender, EventArgs e) { Close(); }
在設置timer.Interval爲0它不起作用?
Private Sub Form1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
Me.Timer1.Stop()
Me.Timer1.Start()
End Sub
嗨 我又會在哪裏啓動計時器? – 2010-07-29 12:48:55
另外,這是如何工作的,我有多個模態窗體? – 2010-07-29 12:49:31
我修改了代碼 – Florian 2010-07-29 12:58:40
作爲,因爲它似乎不好,我認爲,最好的辦法是最多使用system.timer對象有幾毫秒的一組間隔。
我看到的一次是使用一個全局變量,它將獲取最後一個動作的時間,並且每次執行動作時該變量將設置爲Now(使用全局函數)。在你的計時器已經過去的事件中,你檢查現在是否大於最後一次動作的10分鐘限制,並相應地採取行動。
對於多表單應用程序,您可以在每個表單上使用不同的計時器,或者只讓計時器在主窗體上運行。
希望有所幫助。
這是如何與模態窗體一起使用的? – 2010-07-29 14:32:31
如果'modal'表示'ShowDialog',並且您正在主窗口(Application.Run中的那個窗口)執行此代碼,則答案是 - 是的,所有模式窗口都將關閉。 – 2010-07-29 15:31:57
輝煌,感謝您的幫助 – 2010-07-30 08:16:57