TextBox输入控制代码

 

C#控制TextBox输入的源代码:

       public static void KeyPressUFloat(object sender, KeyPressEventArgs e,int decCount)
        ...{
            TextBox txtBox = (TextBox)sender;
            int curPos = txtBox.SelectionStart; // 当前光标位置
            int pointPos = txtBox.Text.LastIndexOf(''.''); // 小数点位置
            // 输入位置在两位小数点后,不允许输入
            if ((pointPos > 0) && (curPos > (pointPos + decCount)))
            ...{
                if (e.KeyChar != '''')
                ...{
                    e.Handled = true;
                }

                return;
            }
            try
            ...{
                string strInt = txtBox.Text.Trim().Substring(0, curPos);
                string strDec = "";

                if (pointPos < 0)
                ...{
                    strDec = ".00";
                }
                else
                ...{
                    // 读取并规范化小数部分
                    strDec = txtBox.Text.Trim().Substring(pointPos);
                    if (strDec.Length > decCount + 1)
                    ...{
                        strDec = strDec.Substring(0, decCount + 1);
                    }
                    else
                    ...{
                        strDec = strDec.PadRight(decCount + 1, ''0'');
                    }
                }

                // 检测输入的字符
                if ((e.KeyChar < ''0'' || e.KeyChar > ''9'') &&
                    (e.KeyChar != ''.'') && (e.KeyChar != ''''))
                ...{
                    e.Handled = true;
                }
                else if (e.KeyChar == ''.'')
                ...{
                    // 输入了小数点
                    e.Handled = true;
                    if (strInt.Length == 0)
                    ...{
                        strInt = "0";
                    }

                    // 消除整数部分的小数点
                    if (strInt.IndexOf(".") != -1)
                    ...{
                        strInt = strInt.Remove(strInt.IndexOf(''.''));
                    }

                    txtBox.Text = strInt + strDec;
                    txtBox.SelectionStart = curPos;
                }
                else
                ...{
                    // 输入数字的操作
                    e.Handled = false;
                    if (curPos > pointPos)
                    ...{
                        // 小数点后,覆盖选择的后一个字符
                        txtBox.SelectionLength = 1;
                    }
                    else if (curPos == pointPos)
                    ...{
                        //txtBox.SelectionStart = curPos;
                        //SendKeys.Send(e.KeyChar.ToString());
                        // 输入位置在小数点之前的处理
                        if (txtBox.Text.Trim().Length == txtBox.MaxLength)
                        ...{
                            strDec = strDec.Remove(1, 1);
                            strDec = strDec.Insert(1, e.KeyChar.ToString());
                            txtBox.Text = strInt + strDec;
                            curPos += 2;
                            e.Handled = true;
                            txtBox.SelectionStart = curPos;
                        }
                        else
                        ...{
                            txtBox.SelectionStart = curPos;
                        }
                    }

                    if (pointPos < 0)
                    ...{
                        txtBox.Text = strInt + strDec;
                        pointPos = txtBox.Text.LastIndexOf(''.''); // 小数点位置
                    }

                    if ((curPos < pointPos) &&
                        (txtBox.Text.Trim().Length == txtBox.MaxLength))
                    ...{
                        txtBox.SelectionLength = 1;
                    }

                    txtBox.SelectionStart = curPos;
                }
            }
            catch (Exception)
            ...{
                throw new Exception("Internal error : UFloat");
            }

        }

 注: 本代码参照:              编程中国 http://www.bc-cn.net
                                          作者: C_B_Lu QQ:184118549
                                           时间: 2007-9-4 编程论坛首发

时间: 2024-09-20 00:52:01

TextBox输入控制代码的相关文章

在js控制Textbox输入是一个大于0小于100的数怎么写(可以有小数点)

问题描述 在js控制Textbox输入是一个大于0小于100的数怎么写(可以有小数点) 解决方案 解决方案二:引用3楼showbo的回复: HTMLcode<inputtype='text'onblur="Check(this)"/><scripttype="text/javascript">functionCheck(txt){if(isNaN(txt.value)){alert("输入数据为数字!");txt.sele

C#正则表达式在TextBox中控制输入

问题描述 C#正则表达式在TextBox中控制输入问题1:在TextBox只接受最大长度为4的整数(即1-9999),但是第一位不可以为0.问题2:只接受数字,并且只能有一个小数点,小数位最大3位.并且不能接受如02.5333或00.354之类的小数.因为之前在网上看过很多回帖,都没啥作用.如"^[1-9][0-9]*$","^[1-9][0-9]{4}$"等等都是不行的. 解决方案 解决方案二:怎么没有人解答呢?解决方案三:最大长度为4的整数^[0-9]$|^[1

c# sql 逼近 插值-C# textbox输入一数字与SQL表中数据对比找到最相邻的两个进行插值

问题描述 C# textbox输入一数字与SQL表中数据对比找到最相邻的两个进行插值 数据表中存储有实测的距离跟对应高度的一系列数据,我现在想实现这一功能:在textbox上输入一距离,判断这一数据位于数据表中的哪两个数据区间中,然后进行插值计算出这一距离对应的高度.求详细代码程序.高分悬赏. 其中表名 tb_GaoCheng_ZS. 解决方案 C#中textbox中只允许输入数字和小数点? 解决方案二: select top 1 距离,高度 from tb_GaoCheng_ZS where

net-急急急 textbox 输入自动空格问题 求大神指点~~~~~~~~~~~~~~~~~~~~~~~

问题描述 急急急 textbox 输入自动空格问题 求大神指点~~~~~~~~~~~~~~~~~~~~~~~ ATM 机转账时输入账号会自动四个数字就空一格 我想做出类似这样的功能 . 我这样写 ,但是有个bug 就是退格(即回删)到空格时就退不动了 我知道问题的所在 但是想不出更好的方法 还请大神们指点一二,感激不尽!! (能用.net解答最好,不用.net也行.) Dim ss As String = TextBox1.Text.Trim() If ss.Length = 4 Or ss.L

winfor在textbox输入姓名或卡号,然后单击button按钮,查询结果在listview中

问题描述 winfor在textbox输入姓名或卡号,然后单击button按钮,查询结果在listview中 我的意思是通过在textbox输入数据库姓名的一列里的内容可以查询到所有与我输入的值 有关的行,显示在listview中 解决方案 如果要代码,请采纳本答案,并且上传你的完整代码,包括数据库,我可以写给你. 解决方案二: 首先textbox关联一个变量m_str,将输入的数据存在m_str中,使用sql语句已m_str中的值作为条件将数据取出来,按照listview格式要求显示出来 解决

文本框只允许输入数字代码

在asp.net中我常用的写法是  代码如下 复制代码 <asp:TextBox ID="syear" onKeyUp="this.value=this.value.replace(/D/g,'')"  onafterpaste="this.value=this.value.replace(/D/g,'')" runat="server" Width="69px"></asp:TextBo

JavaScript使用键盘输入控制实现数字验证功能_javascript技巧

现在有一个需求如下图: 产品经理说Card Number只能让输入数字(中间的空格是格式自加的,也是用js实现的),有时候我脑海中出现了个声音,啥玩意,加个type=number不就行了,事实发现图样图森破了,先不说type=number后面会有个上下标(虽然用css可干掉),但是这个类型是支持科学输入法的,就是小数点和e这样的是可以输入的,于是乎只能用其他的方式了,后来想用检索到输入了非数字就干掉,但是这样还是能输入,想法被打回,于是乎最终采用了键盘输入控制的办法,其实很简单,代码如下: va

js限制文本框的输入内容代码分享(3类)_javascript技巧

为大家分享的JavaScript限制文本框的输入内容代码如下 <style type="text/css"> <!-- .STYLE1 { color: #0099FF; font-weight: bold; font-size: x-large; } --> </style> <p> </p> <p> </p> <p> </p> <p> </p> <

如何将Textbox输入的字符串导入SQL数据库的表中

问题描述 如题,网上找的一些代码,不知道怎么具体操作,即那些代码放到哪里?求帮助~ 解决方案 解决方案二:放在代码编辑器里面,通常它看上去占据了屏幕很大的区域,很像记事本,里面有一些着色的文字,而且有光标在闪动.解决方案三:放到vs的IDE里,并去msdn上搜索类似sqlconnection或者sqlcommand之类的操作类.解决方案四:你是不知道编译器呢还是不知道该放在哪个事件中啊解决方案五: 解决方案六:将asp:TextBox输入的字符串导入到sql数据库表中protectedvoidb