[英]How to use the Enter key as = button in calculator
我想在計算器中使用Enter鍵作為=
,並且插入了代碼,該代碼檢查用戶是否按了窗體按鍵中的Enter鍵,但是此if
語句中的代碼永遠不會評估為true
:
if (e.KeyChar == (char)Keys.Return || e.KeyChar == (char)13 || e.KeyChar == '\r')
btnequal_click(null,null);
當用戶按下Enter鍵時,應該觸發btnequal_click(null,null)
調用。
要進行這項工作,我需要更改什么?
您可以簡單地將表單的AcceptButton
屬性設置為btnequal
。 這應該給你想要的行為(在該表單上按回車btnequal_click
會調用btnequal_click
get)。
只要您的表單沒有使用ShowDialog
打開,在您單擊“ accept”后它就不會關閉。
好的,即使我們不知道這段代碼在哪里,也讓我提供一些指導。 將Form
的KeyPreview
屬性設置為true
。 這將確保您獲得所有關鍵事件。
接下來,處理窗體的KeyDown
或KeyUp
事件,並將代碼放在其中。
我建議使用KeyUp
因為如果按下該鍵,則會復制KeyDown
。
最后,您所需要做的就是:
if (e.KeyChar == (char)Keys.Return)
btnequal_click(null,null);
由於OP表示他們正在使用KeyPress事件(或暗示該事件),所以我將嘗試遵循。 事實上,我最近編寫了一個完全一樣的計算器。 這是我的代碼:
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
btnequal.PerformClick();
}
請注意,我使用了PerformClick函數,因為發現它更簡單。 另外,正如neoistheone所述,請確保將Form KeyPreview設置為true!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.