为什么TextBox使用e.Handled = true以防止输入特定字符.
我们不是有更好的方法吗?
这不是一个错误的设计吗?
目前我想不接收KeyDown事件,如果特定的TextBox是焦点是有一个很好的方法来做到这一点?或者我将要检查原始源我想要的TextBox ...
因为看起来我的原始问题有点令人困惑让我改革它.
让我们假设我们有一个画布和文本框作为画布的孩子.我注册了canvas的keyDown事件来做一些非常有趣的事情.
我不想在用户输入textBox时收到keydown事件.有没有办法在不涉及e.OriginalSource的情况下做到这一点?
如果你想阻止任何输入,你可以(事实上,应该)也设置ReadOnly = true
而不是听取KeyDown
事件.
如果您想有选择地防止击键,那么聆听KeyDown
和设置e.Handled
是唯一的方法.
但是,有选择地防止击键对于可用性是不利的; 不要这样做.而是使用文本框控件的Validating
事件来验证用户输入.
归档时间: |
|
查看次数: |
165 次 |
最近记录: |