2013-10-30 134 views
-2

請幫我瞭解這段代碼。 此代碼可以運行時,用戶按Enterkey 但我不知道如何解決這個問題。 問題在線問題。 **我想知道EnterKey任何人都可以在C#中幫助計算器代碼?

private void Form1_KeyPress(object sender, KeyPressEventArgs e) 
    { 
     Button b = new Button(); 
     b.Text = e.KeyChar.ToString(); 
     if (panel1.Enabled) 
     { 
      if (e.KeyChar >= '0' && e.KeyChar <= '9') 
      { 
       Numbers(b, null); 
       foreach (Button c in panel1.Controls) 
       { 
        if (c.Text == b.Text) 
        { 
         c.Focus(); 

        } 
       } 
      } 
      else 
      if (e.KeyChar == 13) 
        btnequal.Focus(); 

       if (e.KeyChar == '+' || e.KeyChar == '-' || e.KeyChar == '/' || e.KeyChar == '*') 
       { 
        Operations(b, null); 
        foreach (Button c in panel1.Controls) 
        { 
         if (c.Text == b.Text) 
         { 
          c.Focus(); 

         } 
        } 
       } 
       else 
        if (e.KeyChar == '.') 
        { 
         btndot_Click(null, null); 
         btndot.Focus(); 
        } 
        else 
         if (e.KeyChar == '\b') 
         { 
          btnbackspace_Click(b, null); 
          btnbackspace.Focus(); 
         } 
         else 
       line problem   ===> if (e.KeyChar =='\n') 
           MessageBox.Show("you press enter"); 
     } 
+0

http://msdn.microsoft.com/en -us/library/ms752054.aspx – mbeckish

+0

可能重複[在C#中輸入按鍵](http://stackoverflow.com/questions/12318164/enter-key-press-in-c-sharp) – mbeckish

回答

2

您可以使用其中任何一個,看的時候輸入/返回鍵被按下邀請碼:

if (e.KeyChar == (char)Keys.Return) 
if (e.KeyChar == '\r') 
if (e.KeyChar == 13) 
if (e.KeyChar == 0x0D) 
+3

只需注意Pooya ;除非你有理由使用最後提到的兩個Tim,否則堅持前兩個之一。他們更可讀,我認爲大多數人不知道什麼'13'或'0x0D'離開他們的頭頂,其中'\ r'和'(char)Keys.Return很多更明確。 – sab669

相關問題