永发信息网

Winform TextBox中只能输入数字的几种常用方法(C#)

答案:2  悬赏:40  手机版
解决时间 2021-02-08 03:02
  • 提问者网友:聂風
  • 2021-02-07 22:47
Winform TextBox中只能输入数字的几种常用方法(C#)
最佳答案
  • 五星知识达人网友:思契十里
  • 2021-02-07 23:10
if ((e.KeyChar == 0x2D) && (((TextBox)sender).Text.Length == 0)) return; //处理负数
if (e.KeyChar 0x20){try{double.Parse(((TextBox)sender).Text + e.KeyChar.ToString());}catch{
e.KeyChar = (char)0; //处理非法字符}}}方法二:private void TextBox_KeyPress(object sender, KeyPressEventArgs e){if(e.KeyChar!=8&&!Char.IsDigit(e.KeyChar)){
e.Handled = true;}}或者private void TextBox_KeyPress(object sender, KeyPressEventArgs e){if(e.KeyChar!='\b'&&!Char.IsDigit(e.KeyChar)){
e.Handled = true;}}方法三:private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e){if(e.KeyChar!='\b')//这是允许输入退格键{if((e.KeyChar<'0')||(e.KeyChar'9'))//这是允许输入0-9数字{
e.Handled = true;}}}方法四:private void textBox1_Validating(object sender, CancelEventArgs e){const string pattern = @"^\d+\.?\d+$";
全部回答
  • 1楼网友:轮獄道
  • 2021-02-07 23:24

键盘输入的字符可以通过重写textbox控件的onkeypress()事件处理,见如下代码:

    protected override void onkeypress(keypresseventargs e) // 屏蔽非数字键

    {

    base.onkeypress(e);

    if (this.readonly) // 只读, 不处理

    return;

    if ((int)e.keychar <= 32) // 特殊键(含空格), 不处理 

    return;

    if (!char.isdigit(e.keychar)) // 非数字键, 放弃该输入

    {

    e.handled = true;

    return;

    }

    }

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯