不知道如何获得“最终” WinForm KeyPress 事件的输出

发布于 2024-08-07 06:51:35 字数 488 浏览 7 评论 0原文

我有一个简单的winform。其中有一个 TextBox 控件。在其中,我已经连接了 KeyPress 事件。为什么?我试图捕获用户在该文本框中输入的所有内容。但是,当他们按回车键或回车键时,我会抓取他们输入的所有内容并将其发送到命令解析器来执行操作。

然后,我在屏幕上(在 RichTextBox 中)显示他们输入的任何内容,以便他们知道该命令即将得到处理。

简单的东西。

但问题是当我按下“退格”键时。 Gui 显示不正确的文本,一个代表退格字符的奇怪字符,然后显示正确的文本。

所以如果我输入这个... (==退格键)

abcdxxx<BS><BS><BS>efg

GUI 显示该内容。

我希望它显示

abcdefg

(注意 XXX 字符和 3 个退格字符并没有显示)。

有什么建议吗?

I've got a simple winform. In it has a single TextBox control. In that, i've wired up the KeyPress event. Why? I'm trying to capture everything the user types in that textbox. But, when they hit return or enter, i then grab everything they've typed and send it to a command parser to do stuff.

I then display on the screen (in a RichTextBox) whatever they typed, so they know the command is about to get processed.

Simple stuff.

But the problem is when I hit the 'backspace' key. The Gui displays the incorrect text, a weird character that represents the backspace character and then the correct text.

So if i type this...
( == the backspace key)

abcdxxx<BS><BS><BS>efg

the gui displays that.

I want it to display

abcdefg

(notice the XXX chars and the 3 backspace chars and not displayed).

Any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

云裳 2024-08-14 06:51:35

在按键事件中检查该键是否为退格键,不存储它,而是删除最后一个字符。

On key press event check if the key is backspace don't store it, instead delete the last character.

み零 2024-08-14 06:51:35

尝试改用 TextBox.TextChanged 事件。

Try using the TextBox.TextChanged event instead.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文