DEL和BACKSPACE键从WebBrowser中获取

时间:2011-05-19 08:36:43

标签: c# winforms vsto ms-office webbrowser-control

我在VSTO Outlook加载项中有一个自定义任务窗格,其中包含System.Windows.Forms.WebBrowser控件。一切正常但在Web表单中DEL和BACKSPACE键不起作用。好像有些东西在进入浏览器之前就会吃掉这些密钥。

任何指针都表示赞赏。

编辑:

似乎单击WebBrowser不会激活父任务窗格。如果我将一个简单的TextBox添加为WebBrowser的兄弟,然后使用鼠标单击TextBox,则任务窗格的标题栏颜色会发生变化,表明它已获得焦点。接下来,如果我点击WebBrowser,Del和Backspace就会开始工作。

如果我从任务窗格中删除焦点并通过单击WebBrowser返回到该焦点,则任务窗格不会获得焦点(标题栏仍然涂有未聚焦的颜色),并且Del和Backspace问题再次出现。

为什么任务窗格不知道浏览器获得焦点?

1 个答案:

答案 0 :(得分:0)

免责声明:我的回答与Outlook插件无关,但它可能有助于未来的访问者,他们可能会使用搜索引擎找到此页面(与我一样)。它与所描述的问题有关,但在不同的背景下。

今天是2017年,没有任何答案有效(删除,链接和谷歌搜索找到的其他人)。我发现在我的情况下(网页中的嵌入式ActiveX控件),DEL和BACKSPACE以及其他控制键(HOME,END,箭头键)在我按下TAB后开始工作,并在此之后继续工作。

我添加了

obj.focus();

在我的Javascript中设置.Url之后,它立即神奇地解决了问题(obj是我用.NET编写的ActiveX浏览器,使用WPF浏览器控件)。

SendKeys中设置焦点> .NET 中的控件和拦截键无效