VB.NET WebBrowser control-как вы отправляете в браузер по умолчанию?
У меня есть WebBrowser control в моей VBForm. Он ищет веб-сайт на моем сайте и отображает его.
В этом WebBrowser1 есть кнопки отправки формы. Я хотел бы, чтобы это было так, что когда они нажимают кнопку на веб-странице WebBrowser1, он откроет их собственный браузер, чтобы отправить форму
Как мне это сделать?
(Да, это мой сайт. я могу изменить HTML на сервере, если это необходимо. )
1 ответ:
Ответ благодаря: открытие веб-браузера по умолчанию и: vb.net WebBrowser ссылки на веб-браузер по умолчанию
И некоторые проб и ошибок. рабочий результат следующий:
Private Sub WebBrowser1_Navigating(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserNavigatingEventArgs) Handles WebBrowser1.Navigating 'added a match string - if Allow is inside the URL link, then the WebBrowser control is allowed to navigate to it. otherwise use their browser. dim Allow as string = "http://mysite.com" If InStr(e.Url.ToString(), Allow) = 0 Then ' I'm trying here to cancel the event so that the WebBrowser1 control doesn't go there. e.Cancel = True ' then start a new process with their default browser System.Diagnostics.Process.Start(getDefaultBrowser(), e.Url.ToString()) End If End Sub Private Function getDefaultBrowser() As String Dim browser As String = String.Empty Dim key As RegistryKey = Nothing Try key = Registry.ClassesRoot.OpenSubKey("HTTP\shell\open\command", False) 'trim off quotes browser = key.GetValue(Nothing).ToString().ToLower().Replace("""", "") If Not browser.EndsWith("exe") Then 'get rid of everything after the ".exe" browser = browser.Substring(0, browser.LastIndexOf(".exe") + 4) End If Finally If key IsNot Nothing Then key.Close() End If End Try Return browser End Function
Я бы никогда не решил ее, если бы Мартин Паркин не вывесил это дублирующее предупреждение.
Также-пришлось изменить мои ссылки на METHOD = GET, заголовки сообщений не всегда переводятся таким образом.