C# TextBox 文本框限只允许输入数字 按回车后光标自动移位 并且限制最大长度

C#  TextBox 文本框限只允许输入数字 按回车后光标自动移位  并且限制最大长度

 

代码

        private void BOX_KeyPress(object sender, KeyPressEventArgs e)
        {
            TextBox txtBox = sender as TextBox;
            if (e.KeyChar >= '0' && e.KeyChar <= '9')
            {
                if (txtBox.TextLength <= 8)
                {
                    e.Handled = false;//输入9位并且是1到9的数字bai或者是退格键 du	
                }
                else if (txtBox.SelectionLength > 1)
                {
                    e.Handled = false;//选择多个
                }
                else
                {
                    e.Handled = true;
                }
            }
            else if (e.KeyChar == '.'|| e.KeyChar == (char)Keys.Return) //Tab或回车键
            {
                e.Handled = true;
                SendKeys.Send("{TAB}");
            }
            else if (e.KeyChar == '\b' || (int)e.KeyChar == 8)
                e.Handled = false;//删除
            else
                e.Handled = true;
        }

 

 

用于向 SendKeys 活动应用程序发送击键和击键组合。 此类无法实例化。 若要将击键发送到类并立即继续处理程序,请使用 Send 。 若要等待击键启动的任何进程,请使用 SendWait

每个键由一个或多个字符表示。 若要指定单个键盘字符,请使用字符本身。 例如,若要表示字母 A,请将字符串 "A" 传递给方法。 若要表示多个字符,请将每个附加字符追加到其前面的字符。 若要表示字母 A、B 和 C,请将参数指定为 "ABC"。

加号 (+) ,脱字号 (^) ,百分比符号 (% ) ,颚化 (~) ,括号 ( # A9 具有特殊意义 SendKeys 。 若要指定其中一个字符,请将其括在大括号内 ({}) 。 例如,若要指定加号,请使用 "{+}"。 若要指定大括号字符,请使用 "{ {} " 和 " {} }"。 方括号 ( [] ) 没有任何特殊含义 SendKeys ,但必须将它们括在大括号中。 在其他应用程序中,括号确实有一个特殊含义,当动态数据交换 (DDE) 发生时,这可能很重要。

注意

如果你的应用程序旨在用于全球各种键盘,使用 Send 可能会产生不可预知的结果,应当避免。

若要指定按下某个键时未显示的字符(如 ENTER 或 TAB)以及表示操作而不是字符的键,请使用下表中的代码。

表 1
密钥 代码
Backspace {BACKSPACE}、{BS.1770} 或 {BKSP}
BREAK
Caps Lock {CAPSLOCK}
DEL 或 DELETE {DELETE} 或 {DEL}
向下键 分解
End {END}
Enter {ENTER} 或 ~
Esc ECS
HELP {HELP}
Home {HOME}
INS 或 INSERT {INSERT} 或 {INS}
向左键 {LEFT}
Num Lock {NUMLOCK}
Page Down {PGDN}
Page Up PGUP
打印屏幕 {PRTSC} (保留以供将来使用)
向右键 {RIGHT}
Scroll Lock {SCROLLLOCK}
Tab {TAB}
向上键 UP
F1
F2 组合键
F3
F4 F4
F5 F5
F6 组合键
F7 F7
F8 组合键
F9 时更新
F10 F10
F11 F11
F12 F12
F13 F13
F14 F14
F15 F15
F16 F16
小键盘加
小键盘减 {SUBTRACT}
小键盘乘 {MULTIPLY}
小键盘除 拆分

若要指定与 SHIFT、CTRL 和 ALT 键的任意组合组合的键,请在键代码前面加上一个或多个以下代码。

表 2
密钥 代码
SHIFT +
Ctrl ^
ALT %

若要指定在按多个其他键的同时按下 SHIFT、CTRL 和 ALT 的任意组合,请将这些键的代码括在括号中。 例如,若要指定在按 E 和 C 的同时按住 SHIFT,请使用 "+ (EC) "。 若要指定在按 E 的同时按住 SHIFT,请在不带 SHIFT 的情况下使用 C,并使用 "+ EC"。

若要指定重复键,请使用格式 {key number}。 必须在键和数字之间添加一个空格。 例如,{LEFT 42} 表示按左箭头键42次;{h 10} 表示按 H 10 次。

上一篇:Barber paradox


下一篇:【转】Winform中textBox通过正则表达式限制只能输入数字且是两位小数