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, заголовки сообщений не всегда переводятся таким образом.