自定义控件之NumberTextBox
2016-02-16 10:25
239 查看
/// <summary> /// 允许输入数字的TextBox,禁止粘贴,允许backspace、left、right、enter键 /// </summary> public class NumberTextBox : TextBox { public NumberTextBox() { DataObject.AddPastingHandler(this, Text_Pasting); } protected override void OnPreviewKeyDown(KeyEventArgs e) { if ((e.Key >= Key.NumPad0 && e.Key <= Key.NumPad9 && e.KeyboardDevice.Modifiers != ModifierKeys.Shift) || (e.Key >= Key.D0 && e.Key <= Key.D9 && e.KeyboardDevice.Modifiers != ModifierKeys.Shift) || e.Key == Key.Back || e.Key == Key.Left || e.Key == Key.Right || e.Key == Key.Enter) { if (e.KeyboardDevice.Modifiers != ModifierKeys.None) { e.Handled = false; } } else { e.Handled = true; } } private void Text_Pasting(object sender, DataObjectPastingEventArgs e) { //禁止Pasting e.CancelCommand(); } }
上述代码屏蔽了小数点输入。
相关文章推荐
- linux命令分享一:压缩命令
- Java使用MyEclipse构建webService简单案例
- 编译osgcal
- JAVA开发WebService实例整理
- C#中的System.Speech命名空间初探
- 怎么将导航栏始终固定在窗口顶部,类似bootstrap 的navbar-fixed-top
- source insight 中文注释为乱码解决
- C#中的System.Speech命名空间初探
- Android4.0.x Home键事件拦截监听的方法
- 自定义广播、广播接受者优先级、拦截广播
- 面向对象设计6大原则之四(依赖倒置原则)-让项目拥有变化的能力
- 应用系统之间数据传输的几种方式
- SUID SGID SBIT
- 1071. Speech Patterns (25)
- 学习asp.net里的HttpModule
- 配置mysql远程连接
- 玩转linux--安装samba服务器
- JAVA上百实例源码以及开源项目
- 设计模式-组合
- React基础笔记