簡體   English   中英

如何在計算器中將Enter鍵用作=按鈕

[英]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”后它就不會關閉。

好的,即使我們不知道這段代碼在哪里,也讓我提供一些指導。 FormKeyPreview屬性設置為true 這將確保您獲得所有關鍵事件。

接下來,處理窗體的KeyDownKeyUp事件,並將代碼放在其中。

我建議使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM