#632 – 使用PreviewTextInput事件阻止用户输入(Block Input Using PreviewTextInput)
2017-01-18 15:42
435 查看
你可以使用控件的PreviewTextInput 事件来阻止控件接收某些输入的字符。
要防止某个特定的字符输入到控件,你只要简单的设置TextCompositionEventArgs 类型参数的Handled 属性为true就可以。它将中断控件接收字符输入事件的路由。
在XAML代码中注册事件:
CS文件代码中实现事件处理函数:
private void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
// No e's allowed
if ((e.Text == "e") || (e.Text == "E"))
e.Handled = true;
}
在代码中,我们组织了‘e’和‘E’这两个字符的输入,在TextBox 中输入这两个字符将不会被接收。
要注意有些按键按下是不会触发PreviewTextInput 事件的,它们是:
-空格(Spacebar)
-回退(Backspace)
-Home/End/Delete/Insert 键
-方向箭头
-Ctl组合键, 比如 Ctrl+V
原文地址:https://wpf.2000things.com/2012/08/24/632-block-input-using-previewtextinput/
要防止某个特定的字符输入到控件,你只要简单的设置TextCompositionEventArgs 类型参数的Handled 属性为true就可以。它将中断控件接收字符输入事件的路由。
在XAML代码中注册事件:
<TextBox Text="" HorizontalAlignment="Center" Width="150" PreviewTextInput="TextBox_PreviewTextInput" />
CS文件代码中实现事件处理函数:
private void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
// No e's allowed
if ((e.Text == "e") || (e.Text == "E"))
e.Handled = true;
}
在代码中,我们组织了‘e’和‘E’这两个字符的输入,在TextBox 中输入这两个字符将不会被接收。
要注意有些按键按下是不会触发PreviewTextInput 事件的,它们是:
-空格(Spacebar)
-回退(Backspace)
-Home/End/Delete/Insert 键
-方向箭头
-Ctl组合键, 比如 Ctrl+V
原文地址:https://wpf.2000things.com/2012/08/24/632-block-input-using-previewtextinput/
相关文章推荐
- android使用输入过滤器InputFilter约束用户输入
- 使用AT SELECTION-SCREEN事件验证用户输入条件的反思
- 使用AT SELECTION-SCREEN事件验证用户输入条件的反思
- 牛腩购物 8 整合用户留言 动软生成器 ,.NET在后置代码中输入JS提示语句(背景不会变白),repeater 循环的时候事件判断,repeater 隔行 奇数行,item列,隐藏区块 Panel 的使用,前台绑定代码的时候使用函数
- android使用输入过滤器InputFilter约束用户输入
- android使用输入过滤器InputFilter约束用户输入
- 利用Keydown事件阻止用户输入
- 利用Keydown事件阻止用户输入实现代码
- 利用Keydown事件阻止用户输入实现代码
- 利用Keydown事件阻止用户输入
- 阻止input文本框输入回车键时,出现表单提交事件
- QWidget类中默认是忽略inputMethodEvent事件(要获取输入的内容就必须使用这个事件)
- js监听input输入框,让用户在使用拼音输入法的状态下无法输入除数字外的任何字符
- js实现文本框或文本域在用户输入时(oninput)触发事件,操作元素
- 输入框--仿placeholder,oninput检测用户输入事件
- 使用TextInputLayout提升EditText的输入用户体验
- #630 – PreviewTextInput 和TextInput 事件(PreviewTextInput and TextInput Events)
- 使用oninput事件跟踪显示input的输入
- input 使用js赋值而非手动输入input,并执行input事件对应函数
- Android输入事件从读取到分发三:InputDispatcherThread线程分发事件的过程