If you trap the NewWindow2 event for the WebBrowser control, you can stop all new windows opening, like this:
Code:
Private Sub AxWebBrowser1_NewWindow2(ByVal sender As Object, ByVal e As AxSHDocVw.DWebBrowserEvents2_NewWindow2Event) Handles AxWebBrowser1.NewWindow2 e.cancel = True End Sub
Alternatively you could instantiate an InternetExplorer object and pass the handle to that, in this way you can trap what they do in InternetExplorer too.
Code:
Dim WithEvents ieChildBrowser As SHDocVw.InternetExplorer Private Sub AxWebBrowser1_NewWindow2(ByVal sender As Object, ByVal e As AxSHDocVw.DWebBrowserEvents2_NewWindow2Event) Handles AxWebBrowser1.NewWindow2 ieChildBrowser = New SHDocVw.InternetExplorer() ieChildBrowser.RegisterAsBrowser = True e.ppDisp = ieChildBrowser End Sub
Now you can trap the DownloadBegin event, cut out the URL they were going to, close the instance of IE, then Navigate2 in your own WebBrowser.
Code:
Private Sub ieChildBrowser_DownloadBegin(ByVal sender As Object, ByVal e As System.EventArgs) Handles ieChildBrowser.DownloadBegin Dim strURL As String strURL = ieChildBrowser.Document.URL ieChildBrowser.Quit() ieChildBrowser = Nothing AxWebBrowser1.Navigate2(strURL) End Sub But I guess the first is simpler as it just stops them being able to do it at all.

|