09
2019
05

textbox只能输入数字

通过本方法可以使文本框只能输入或复制入数字  对于数量类输入文本框比较有用 金额类只需小改动也可实现

以TextBox txtCount为例 添加TextChanged事件

代码如下

private void txtCount_TextChanged(object sender, TextChangedEventArgs e)

        {

            TextBox temptbox = sender as TextBox;               //此句可能是为保护原框,也可能只是为了用一下sender -.-

            TextChange[] change = new TextChange[e.Changes.Count];         //

            e.Changes.CopyTo(change, 0);                     //得到Change的内容

            int offset = change[0].Offset;                    //得到Change的偏置值(offset) 可理解为变化的起始位置

            if (change[0].AddedLength > 0)                                  //如果是内容增加 则执行

            {

                int num;                                                    //其实没啥用 但是没这个变量TryParse函数不能用

                if(temptbox.Text.IndexOf(' ')!=-1||!int.TryParse(temptbox.Text,out num))

                {                                  //Text.IndexOf检测某字符首次出现的位置,此处用来检测是否有空格

                                              //int.TryParse返回是字符串是否转为数字,此处用来检测字符串是纯数字

                                              //float,double应该也有类似的函数,可以用来实现小数检测

                    temptbox.Text = temptbox.Text.Remove(offset, change[0].AddedLength);//去除change

                    temptbox.Select(offset, 0);                        //恢复原状

                }

            }

        }

原文链接:https://www.qiquanji.com/post/8463.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

gzh

微信扫码关注

更新实时通知

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。