VB.NET WebBrowser control-как вы отправляете в браузер по умолчанию?


У меня есть WebBrowser control в моей VBForm. Он ищет веб-сайт на моем сайте и отображает его.

В этом WebBrowser1 есть кнопки отправки формы. Я хотел бы, чтобы это было так, что когда они нажимают кнопку на веб-странице WebBrowser1, он откроет их собственный браузер, чтобы отправить форму

Как мне это сделать?

(Да, это мой сайт. я могу изменить HTML на сервере, если это необходимо. )

1 2

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