【发布时间】:2018-11-14 01:00:30
【问题描述】:
我有 Outlook 插件(使用 VSTO .net),它在 Outlook 的自定义任务窗格中打开 HTML5 表单。
问题:在单击任何 Outlook 字段后,Ctrl + A、TAB 事件无法与 HTML 原生控件(如文本区域)一起使用。 例如,我用我的表单打开会议/电子邮件窗口,然后尝试在文本区域中写任何内容,然后按 Ctrl + A 它工作正常。但是现在,如果我单击任何 Outlook 本地字段,然后返回 html 表单文本区域,我将无法执行 Ctrl + A 以及 TAB 键也不起作用。但是,我可以在该文本区域中编写任何文本。
此问题也已报告至 msdn 论坛下方,并且已提供解决方法,但可能会与下拉菜单等某些控件存在潜在问题。
为了便于在此处添加解决此问题的解决方法:
void webBrowser1_DocumentCompleted(object sender,
System.Windows.Forms.WebBrowserDocumentCompletedEventArgs e)
{
HtmlDocument doc;
doc = webBrowser1.Document;
doc.Click += doc_Click;
}
void doc_Click(object sender, HtmlElementEventArgs e)
{
this.Focus(); // force user control to have the focus
HtmlElement elem =
webBrowser1.Document.GetElementFromPoint(e.ClientMousePosition);
elem.Focus(); // then let the clicked control to have focus
}
我虽然这个问题将仅限于 Outlook 2010,但它仍然存在于 Outlook 2016。
请注意,我已经使用 WinForm 和 WebBrowser 控件验证了这种行为,并且在那里可以正常工作。唯一的问题是 Outlook。
以前有没有人遇到过这个问题,有什么适当的解决办法吗?
请参考上面提供的链接,其中包含 youtube 链接以准确了解问题。
感谢您的帮助。
【问题讨论】:
-
有关于这个问题的消息吗?
标签: vsto webbrowser-control outlook-addin