2014-10-20 18 views
-2

我得到了WinForm應用程序。我有它的功能。當我想讓它停止前進並等待用戶按下「回車鍵」時,此功能有一段時間。如何使WinForms程序等待(例如,按「enter」)?

我期待也許某種無限循環,等待特定的鍵盤按鍵被按下?

另外還有一個小問題,除了System.Threading.Thread.Sleep之外,還有其他停止函數的方法嗎?

+1

這個問題可能對控制檯應用程序有意義,但它將如何應用於Windows應用程序? – 2014-10-20 20:20:48

+7

Windows GUI編程是事件驅動的。迴應表示已按下某個鍵的事件。這聽起來好像你沒有真正掌握控制檯應用程序的同步編程和事件驅動的GUI編程之間的區別。在進一步研究之前,您需要先了解一下。 – 2014-10-20 20:21:19

回答

2

你應該重寫和實現ProcessDialogKey

protected override bool ProcessDialogKey(Keys keys) 
{ 
    if (keys == Keys.Enter) 
    { 
     // do your stuff 
    } 

    base.ProcessDialogKey(keys); 
} 

另一種選擇是創建一個按鈕,將其設置爲窗體上的默認和AcceptButton。按Enter鍵時將調用Click事件處理程序。