visual - Control del navegador web cargando Outlook inutilizable VB.Net
webbrowser events (1)
Supongo que estás usando System.Windows.Forms.WebBrowser .
Hay un método Stop()
que podría intentar llamar antes de solicitar un nuevo Navigate(String)
.
Tengo un control de navegador web que se agrega a un control de usuario y se hace automáticamente para navegar a una URL específica cuando se selecciona un correo electrónico (digamos https://www.google.com ). Mientras la navegación continúa, al hacer clic en los correos electrónicos, se ralentiza el rendimiento real de Outlook y Outlook espera a que la página se cargue. ¿Hay alguna forma de que pueda llevar a cabo esta navegación en segundo plano sin afectar realmente el rendimiento de Outlook al hacer clic a través de varios correos electrónicos?
Gracias.
Actualizar:
Código de inicio AddIn:
Private Sub ThisAddIn_Startup() Handles Me.Startup
myUserControl1 = New OutlookTaskPane
myUserControl1.TabStop = True
Dim width As Integer = myUserControl1.Width
myCustomTaskPane = Me.CustomTaskPanes.Add(myUserControl1, "Title")
myCustomTaskPane.Width = width
myCustomTaskPane.Visible = True
myCustomTaskPane.DockPositionRestrict = Microsoft.Office.Core.MsoCTPDockPositionRestrict.msoCTPDockPositionRestrictNoChange
currentExplorer = Me.Application.Explorers.Application.ActiveExplorer
AddHandler currentExplorer.SelectionChange, AddressOf myOutlookExplorer_SelectionChange
End Sub
Código SelectionChange (En el cambio de selección de correo electrónico):
Private Sub myOutlookExplorer_SelectionChange() Handles currentExplorer.SelectionChange
Dim RandNum As Integer = myUserControl1.GetRandomNumber(1, 100)
'' Grid Loading Link
myUserControl1.WebBrowser1.Navigate("https://www.google.com" & "?" & RandNum, Nothing, Nothing, "User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko")
End Sub
Código completado del documento:
Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
'' If the document is not completely ready, then don''t perform the events below
If Not WebBrowser1.ReadyState = WebBrowserReadyState.Complete Then
Return
End If
.... // lots of field setting/DOM manipulation after the DOM is loaded
End Sub