TextBox启用只添加数字 - C#

问题描述:

我已经阅读了很多代码示例在这个主题,但它不工作。这应该没有问题,但在我的项目中失败了,在其他人的项目中它工作。 我在C#中应该只包含数字的文本框。 在我的项目,如果我有文本的文本框:TextBox启用只添加数字 - C#

----------------------- 
|   32   | 
|      | 
----------------------| 

和我添加了一个字符“T”我resualt是:

----------------------- 
|   T3   | 
|      | 
----------------------| 

它删除的第一个字符,而不是最后一个字符 我代码:

private void txt_NumOfIkun_KeyPress(object sender, KeyPressEventArgs e) 
    { 
     char charAdded = e.KeyChar; 

     if (txt_NumOfIkun.TextLength > 1) 
       txt_NumOfIkun.Text = txt_NumOfIkun.Text.Substring(0, txt_NumOfIkun.TextLength - 1); 
      else 
       txt_NumOfIkun.Text= ""; 
    } 
+0

为什么不使用的NumericUpDown呢? – 2014-10-03 09:07:28

if (e.KeyChar < '0' || e.KeyChar > '9') 
{ 
    e.Handled = true; 
} 
+0

感谢它的工作。但是,我怎么做,我可以删除数字?因为只有键盘上的数字才起作用。 – 2014-10-03 09:18:24

+0

我明白了。 http://*.com/questions/463299/how-do-i-make-a-textbox-that-only-accepts-numbers – 2014-10-03 09:23:47