vb.net Как предотвратить блокировку немодальной формы с помощью модального диалогового окна инструментов в ArcMap?
У меня есть проект vb.net, работающий как расширение панели инструментов в ArcMap. Каждый из моих инструментов открывает модальное диалоговое окно с помощью метода.ShowDialog(). Мой клиент хочет иметь возможность открывать PDF-документ из инструментов, которые будут служить инструментом справочной документации, а не традиционным методом, таким как HTMLHelp или средство просмотра справки Windows.
Итак, я импортировал Interop.AcroPDFLib.dll и настроил форму с объектом AxAcroPDF (veiwer). Всякий раз, когда пользователь нажимает кнопку справки в любом из диалоговых окон инструмента, форма справки открывается с помощью.Show() и переходит на связанную страницу документа с помощью метода.setCurrentPage. Все отлично работает до этого момента.
Однако, как вы можете себе представить, поскольку диалоговое окно инструмента является модальным, оно блокирует возможность пользователя взаимодействовать с формой PDF. Итак, мне нужна техника предотвращения этого блока, чтобы пользователь мог прокручивать страницы, щелкать ссылки в PDF и т. Д., Пока открыто диалоговое окно инструмента. Т.е. мне нужно решение, которое будет имитировать использование традиционной HTMLHelp veiwer.
Я попытался открыть форму PDF в новом потоке, но это приводит к сбою ArcMap в Application.Run(New PDFForm). Может быть, это потому, что у меня очень мало опыта работы с многопоточностью, или, может быть, потому что ArcMap не поддерживает многопоточность. Точно сказать не могу.
Во всяком случае, любые предложения, чтобы начать меня, будут очень оценены.