У меня есть плагин Outlook (с помощью VSTO .net), который открывает форму HTML5 на пользовательской панели задач Outlook.
Проблема: события Ctrl + A, TAB не работают с собственными элементами управления HTML, такими как Текстовая область, после нажатия на любые поля внешнего вида.Например, я открываю окно встречи / электронной почты с моей формой, а затем пытаюсь написать что-нибудь в текстовой области, а затем нажимаю Ctrl + A, оно работает нормально.Но теперь, если я нажму на любые собственные поля внешнего вида, а затем вернусь в текстовую область формы HTML, я не могу нажать Ctrl + A, так как клавиша TAB также не работает.Тем не менее, я могу написать любой текст в этой текстовой области.
Эта проблема была также сообщена на форуме ниже msdn, и был предоставлен обходной путь, который может иметь потенциальные проблемы с некоторыми элементами управления, такими как выпадающий список.
https://social.msdn.microsoft.com/Forums/en-US/0e411bc7-1dba-4a22-86a6-20529e4fe8ea/focus-problems-with-task-pane-and-webcontrol-in-outlook?forum=outlookdev
Для простоты добавление обходного пути для устранения этой проблемы здесь:
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, чтобы точно понять проблему.
спасибо за помощь.