Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница:

 

  Вопрос: VB.Net-диалог с WebBrowser из события Word Добавлено: 05.09.12 20:53  

Автор вопроса:  Zahar | Web-сайт: partnerka-ru.info
В моём приложении из VB.Net загружаются документы Word. Необходимо осуществить открытие диалогового окна (VB.Net-формы) при событии нажатия пользователем правой кнопки в вордовском документе. В принципе всё работает, но столкнулся с одной проблемой, модель которой представлена в простеньком коде:
При подключённой сборке Word созданы две стандартные формы: Form1 (c кнопкой Button1) и Dialog1.
Код программы такой:


Imports Microsoft.Office.Interop

Public Class Form1
    Private WithEvents wdApp As New Word.Application
    Private WithEvents wdDoc As New Word.Document
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        wdDoc = wdApp.Documents.Add
        wdDoc.ActiveWindow.Visible = True
    End Sub

    Private Sub wdApp_WindowBeforeRightClick(ByVal Sel As Microsoft.Office.Interop.Word.Selection, ByRef Cancel As Boolean) Handles wdApp.WindowBeforeRightClick
        Cancel = True
        Dialog1.ShowDialog()
    End Sub
End Class


При нажатии кнопки №1 открывается документ Word. При клике правой кнопкой мыши в создавшемся документе открывается диалоговое окно Dialog1. В данное окно можно поместить любые контролы и они будут прекрасно работать, за исключением WebBrowser. Если в Dialog1 поместить WebBrowser, то при обработке события WindowBeforeRightClick выскакивает ошибка: Ошибка при создании формы. См. Exception.InnerException. Ошибка: «Создание экземпляра элемента ActiveX "8856f961-340a-11d0-a96b-00c04fd705a2" невозможно: текущий поток не находится в однопоточном контейнере.»
Почему эта ошибка возникает только с браузером и как всё-таки при обработке вордовского события подгружать форму с работающим браузером?

Ответить

  Ответы Всего ответов: 0  

Нет ответов

Страница:

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам