首页 > 代码库 > WPF 限制Textbox输入的内容
WPF 限制Textbox输入的内容
限制文本框TextBox的输入内容,在很多场景都有应用。举个例子,现在文本框中,只能输入0、1、2、3、4、5、6、7、8、9、“|”这11个字符。
限制输入0-9很容易实现,关键是这个“|”符号。它在WPF中对应的是Key.OemPipe键。如果直接允许该键输入,那么会有“\”这个符号也可以输入。那么问题来了,怎么才能限制呢?很简单:先确认shift键是否已经按下。
关键代码如下:
1 bool shiftKey = (Keyboard.Modifiers & ModifierKeys.Shift) != 0;
这样,当我们确认已经按下了shift键时,才允许Key.OemPiple键按下,就可以确保只能输入“|”符号了。
一个完整的示例代码如下:
1 private void textbox_keydown_event(object sender, KeyEventArgs) 2 { 3 bool shiftKey = (Keyboard.Modifiers & ModifierKeys.Shift) != 0; 4 if (shiftKey == true) 5 { 6 if (e.Key != Key.OemPipe) 7 { 8 e.Handled = true; 9 }10 }11 else if (e.Key != Key.Delete && e.Key != Key.Back &&12 e.Key != Key.D0 && e.Key != Key.D1 &&13 e.Key != Key.D2 && e.Key != Key.D3 &&14 e.Key != Key.D4 && e.Key != Key.D5 &&15 e.Key != Key.D6 && e.Key != Key.D7 &&16 e.Key != Key.D8 && e.Key != Key.D9 &&17 e.Key != Key.NumPad0 && e.Key != Key.NumPad1 &&18 e.Key != Key.NumPad2 && e.Key != Key.NumPad3 &&19 e.Key != Key.NumPad4 && e.Key != Key.NumPad5 &&20 e.Key != Key.NumPad6 && e.Key != Key.NumPad7 &&21 e.Key != Key.NumPad8 && e.Key != Key.NumPad9)22 {23 e.Handled = true;24 }25 }
WPF 限制Textbox输入的内容
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。