【发布时间】:2015-05-08 03:12:45
【问题描述】:
如何在文本框上只允许退格和数字?
我尝试了几种解决方案,但都没有奏效,或者只奏效了:
到目前为止我的代码:
private void textBox1_TextChanged(object sender, EventArgs e)
{
try
{
if (textBox1.Text != String.Empty)
textBox1.Clear();
else
value = Convert.ToInt32(textBox1.Text);//store the value from the textbox in variable "value"
}
catch (Exception e1)
{
MessageBox.Show(e1.Message);
}
}
我想要一个仅限于private void textBox1_TextChanged()的解决方案
【问题讨论】:
-
如果你输入 else 块 texBox1.text 将是 string.empty。转换成 int 有什么意义???
-
我想省略
private void textBox1_KeyPress()。我试过了,还是不行 -
我需要这个值是一个整数,这样我以后可以使用它
-
@Dylan that Q&A 中的所有答案在实施和用户体验方面都非常糟糕。没有防止粘贴任何答案的保护措施,许多建议是在输入一个无效字符时清除整个文本框,没有国际化,KeyPress 处理阻止导航(箭头键,Home/End,Backspace)......答案是“使用 MaskedTextBox”。
-
我不认为这是重复的,因为我不想要那个实现 :)
标签: c# winforms visual-studio visual-studio-2012