gpt4 book ai didi

c# - WPF 文本框不接受删除键

转载 作者:行者123 更新时间:2023-11-30 12:53:59 25 4
gpt4 key购买 nike

我在 Microsoft Outlook 2003 窗口中嵌入了一个 WPF 应用程序。一切正常,除了我的 TextBox 控件都不接受退格键。我做了一些研究,只有当我的窗口是 outlook 窗口的子窗口而不是另一个窗口时才存在问题(我将它注入(inject) firefox 并且工作正常,如果我将我的 wpf UserControl 放入对话窗口它也有效)。这似乎是人们报告的相反问题(文本框只接受删除/箭头键等),并且这个线程提供了一些信息(虽然没有解决我的问题):WPF TextBox not accepting Input when in ElementHost in Window Forms

这是我的设置:我创建了一个 WPF UserControl,然后将其放入 ElementHost。我将该主机放入 Windows 窗体 UserControl 中,它被放入另一个 Forms UserControl 中,后者被放入 NativeWindow 中(我尝试删除一些 UserControl 包装,但没有效果)。然后,此 native 窗口成为 Outlook 窗口的子窗口,并放置在 Outlook 中我需要的位置。

有人知道吗?也许我需要以不同方式处理 Windows 消息?我做了一些研究,发现当我按下退格键时 Outlook 收到 WM_COMMAND 消息,但当我没有按下任何其他键时则不会。也许它将退格键解释为菜单加速器或类似的东西?

谢谢。

最佳答案

我找到了解决这个问题的方法。我扩展了 Outlook 的 WndProc 并监听了 WM_COMMAND。每当它出现时,我都会告诉我的 WPF UserControl 系统将退格键发送到当前以键盘为中心的控件。

除了退格键之外,我似乎无法让 WM_COMMAND 在任何其他按键上触发,所以它现在工作得很好。

关于c# - WPF 文本框不接受删除键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/977779/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com