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} 或 ~
EscECS
HELP{HELP}
Home{HOME}
INS 或 INSERT{INSERT} 或 {INS}
向左键{LEFT}
Num Lock{NUMLOCK}
Page Down{PGDN}
Page UpPGUP
打印屏幕{PRTSC} (保留以供将来使用)
向右键{RIGHT}
Scroll Lock{SCROLLLOCK}
Tab{TAB}
向上键UP
F1
F2组合键
F3
F4F4
F5F5
F6组合键
F7F7
F8组合键
F9时更新
F10F10
F11F11
F12F12
F13F13
F14F14
F15F15
F16F16
小键盘加
小键盘减{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 次。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值