首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF中WinForms TextBox.Validating事件的等价性

WPF中WinForms TextBox.Validating事件的等价性
EN

Stack Overflow用户
提问于 2009-09-11 14:39:57
回答 4查看 9.1K关注 0票数 8

在WinForms中,我可以处理经过验证的事件,以便在用户更改TextBox中的文本后执行一些操作。与TextChanged不同的是,验证并不是针对每个字符的更改而触发的;它只在用户完成时才会触发。

WPF中有什么东西可以用于获得相同的结果,只有在用户完成更改文本之后才会引发事件吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-09-11 14:49:11

当用户从文本框移动到任何其他控件时,LostFocus将触发。

票数 5
EN

Stack Overflow用户

发布于 2010-11-24 14:31:18

似乎没有原生的解决方案。LostFocus事件是个好主意。但是,当用户单击Enter时,他希望TextBox验证更改。下面是我的建议:当键输入时,使用LostFocus事件和KeyDown事件。

代码语言:javascript
复制
private void TextBox_LostFocus(object sender, RoutedEventArgs e)
{
    // code to lauch after validation
}

private void TextBox_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Enter)
    {
        // call the LostFocus event to validate the TextBox
        ((TextBox)sender).RaiseEvent(new RoutedEventArgs(TextBox.LostFocusEvent));
    }
}
票数 4
EN

Stack Overflow用户

发布于 2015-03-28 05:30:57

LostFocus不等同于验证。如果在一个屏幕上有多个文本框,并且每个文本框都有一些在验证中写入的逻辑,则会产生许多问题。在验证事件中,您可以很容易地控制焦点,但在LostFocus中就不那么容易了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1411297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档