結束對雙擊的應用程序,你可以使用DispatcherTimer
任務檢查兩次點擊是否在一秒內,如果是,關閉應用程序,否則開始timer
並再次檢查。該代碼段如下:
做出DispatcherTimer
對象作爲類字段一樣,
DispatcherTimer dt = new DispatcherTimer();
在你class's constructor
指定要檢查雙擊並添加event handler
執行一些interval
在指定時間已過時執行操作。您可以在class's constructor
做,
dt.Interval = TimeSpan.FromSeconds(1.0);
dt.Tick += delegate(object s, EventArgs e)
{
dt.Stop();
};
在這裏,我們正在做的事情是我們指定1秒timespan
檢查是否是第二內出現雙擊。 Tick事件是爲了當計時器完成1秒鐘後我們想要做的事情。我們只是要停止timer
。
現在導航到返回鍵事件處理,這裏是我的代碼檢查雙擊:
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
e.Cancel = true;
if (!dt.IsEnabled)
dt.Start();
else
new Microsoft.Xna.Framework.Game().Exit();
}
當第一次輕觸,timer
尚未啓動,它會去,如果條件並開始定時器。如果在1秒後出現第二次敲擊,則我們在構造函數中寫入的Tick
事件將觸發,並根據寫入的邏輯,將停止timer
。
現在假設雙擊因此在1秒內發生。對於第一次點擊如往常一樣,它將啓動timer
,如果用戶立即再次按下後退按鈕,則在其處理程序中,它將檢查timer
是否正在運行。由於timer
尚未完成其1秒的時間間隔,否則條件將啓動並且應用程序將關閉。
我用XNA library
/快捷鍵到強行關閉該應用程序。要使用new Microsoft.Xna.Framework.Game().Exit();
方法,您應該在參考中添加一個microsoft.xna.framework.game.dll
。
按照要求製作TimeSpan
間隔。
希望這會有所幫助。謝謝。
EDIT:
有時XNA是不是安裝在Windows 8.這是一個解決方案,讓你在你的項目中添加上述裝配參考。
http://blogs.msdn.com/b/astebner/archive/2012/02/29/10274694.aspx
您必須下載更新,其中大約23MB左右。
爲了節省時間,這裏有一個Dropbox的鏈接,上面裝配參考:
https://db.tt/RYTwv7cS
在你說出來之前就做過了,沒有機會看到這裏。謝謝您花時間幫助我。你很近。蜱更大的價值。我結束了做DateTime.Now並計算毫秒差異。如果它小於500,我把它當作雙擊。請更新您的答案,我會標記它。 – Codie