![]() |
1
1
在您的代码中,您在TextChanged事件中添加了KeyUp的处理程序。因此,当TextChanged时,将为KeyUp事件添加新的处理程序。这就是为什么每封信都要多次检查的原因。将处理程序置于Form加载事件。 例如,如果我在TextBox中输入了五个字母,那么将为KeyUp添加5个处理程序。表示KeyUp事件处理程序的数量等于调用TextChanged事件的次数。
这为KeyUp事件添加了新的处理程序。所以,当这一行执行时,将添加新的处理程序。 通过将Handler放在Form Load事件中,可以解决多个字母检查的问题。 尝试,
还有一件事,当我理解你的代码时,你想执行
代码:
|
![]() |
2
1
使用KeyDown事件而不是TextChanged,并在其中写下e.Handle=True。 在您的textBox.KeyDown事件中写下以下代码:
|
![]() |
3
0
已替换
(顺便说一句,我仍然不明白为什么每个字母都要测试几次…) 编辑:现在看完公认的答案,我明白了。。。 |
![]() |
Matej · C#按错误顺序从文本框中读取每个文本 6 年前 |
![]() |
WillGreco · 计数文本框已填充(仅部分) 6 年前 |
|
Ridge · 如何将数据从SQLite数据库查询加载到文本框中? 6 年前 |
|
user7674753 · 为什么我的边界没有完全围绕文本框? 6 年前 |
![]() |
Knugi · 在文本框/标签中显示所选行记录 6 年前 |
![]() |
Idanis · 圆形组合框样式wpf 6 年前 |
![]() |
falukky · 如何从枚举属性使用DataTrigger? 7 年前 |