textbox只能输入数字

时间:5年前   阅读:4949

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

以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,我们将及时处理。

微信扫码关注

更新实时通知

上一篇:上证50ETF期权交易有哪些交易步骤?

下一篇:普通的投资者可以做期权代理吗?代理有门槛吗?

网友评论

请先 登录 再评论,若不是会员请先 注册