2016-09-12 4 views
1

私は数字だけを受け入れるTextBoxを持っています。それは動作しますが、バックスペースキーには機能がありません。バックスペースキーはKeyPress関数では機能しません

private void textBox1_KeyPress(object sender, KeyPressEventArgs e) 
{ 
    int isNumber = 0; 
    e.Handled = !int.TryParse(e.KeyChar.ToString(), out isNumber); 
} 

どうしたのですか?

+0

'' Backspace ''はintではありません。バックスペース機能(左、右、ドット、カンマ、マイナスの可能性もあります)を維持したい場合。それらのキーコードもチェックしてください。 –

+0

本当に、この素​​晴らしいページ[http://keycode.info/](http://keycode.info/) –

答えて

1

(バックスペース)。あなたは、このようにキーをキャストして比較することができ

if (e.KeyCode == Keys.Back) 
    { 
     e.SuppressKeyPress = true; 
    } 
+0

でキーコードを確認できます!、ありがとうございます。 – Leinad

+0

@あなたの歓迎です。 – Berkay

0

希望

e.Handled = !int.TryParse(e.KeyChar != (char)Keys.Back ? e.KeyChar.ToString() : "0", out isNumber); 

、これを試してみてください

if(e.KeyChar == (char)Keys.Back) 
{ 
} 
0

をクリックするか、ないバックスペースをチェックするために、この条件を試してみてください役に立った:

0

また、それが動作している状態です。

if (e.KeyChar >= 48 && e.KeyChar <= 57) 
{ 
} 
else 
{ 
     e.Handled = true; 
} 
関連する問題