raf_lele (Normal User)
Newbie
Messaggi: 20
Iscritto: 05/03/2009
|
Un saluto a tutti.Sono giorni che ci provo ma senza risultati.Ho creato un webbrowser funziona tutto bene,solo ke quando clicco su un link di quelli che aprono una nuova finestra,si apre internet explorer,invece io vorrei ke si aprisse con una nuova finestra del mio browser,ho cercato in internet e ho trovato sul sito microsoft questo codice che però a me non funziona xkè ho messo + webbrowser in + tabcontrol (l'ho provato facendo un browser con un unico webbrowser nel form e funziona)
Codice sorgente - presumibilmente VB.NET |
Private Sub AxWebBrowser1_NewWindow2(ByVal sender As Object, ByVal e As AxSHDocVw.DWebBrowserEvents2_NewWindow2Event) Handles AxWebBrowser1.NewWindow2 Dim frmWB As Form1 frmWB = New Form1() frmWB.AxWebBrowser1.RegisterAsBrowser = True e.ppDisp = frmWB.AxWebBrowser1.Application frmWB.Visible = True End Sub
|
Qualcuno può aiutarmi??grazie...
Ultima modifica effettuata da raf_lele il 12/03/2009 alle 17:57 |
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Basta usare una variabile globale che contenga un riferimento al browser di volta in volta selezionato...
|
|
raf_lele (Normal User)
Newbie
Messaggi: 20
Iscritto: 05/03/2009
|
Ho fatto così ma non va mi puoi aiutare con il codice???grz...
Codice sorgente - presumibilmente VB.NET |
Private Sub WebBrowser1_NewWindow2(ByVal sender As Object, ByVal e As AxSHDocVw.DWebBrowserEvents2_NewWindow2Event) Handles WebBrowser1.NewWindow2 Dim frmWB As Form1 frmWB = New Form1() frmWB.WebBrowser1.RegisterAsBrowser = True e.ppDisp = frmWB.WebBrowser1.Application frmWB.Visible = True End Sub Private Sub WebBrowser2_NewWindow2(ByVal sender As Object, ByVal e As AxSHDocVw.DWebBrowserEvents2_NewWindow2Event) Handles WebBrowser2.NewWindow2 Dim frmWB As Form1 frmWB = New Form1() frmWB.WebBrowser2.RegisterAsBrowser = True e.ppDisp = frmWB.WebBrowser2.Application frmWB.Visible = True End Sub Private Sub WebBrowser3_NewWindow2(ByVal sender As Object, ByVal e As AxSHDocVw.DWebBrowserEvents2_NewWindow2Event) Handles WebBrowser3.NewWindow2 Dim frmWB As Form1 frmWB = New Form1() frmWB.WebBrowser3.RegisterAsBrowser = True e.ppDisp = frmWB.WebBrowser3.Application frmWB.Visible = True End Sub
|
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Non hai seguito il mio consiglio. Ti avevo detto di usare una variabile globale:
Codice sorgente - presumibilmente VB.NET |
Class Form1 Private WithEvents CurrentWebBrowser As AxWebBrowser '... End Class
|
Che cambi quando cambi tab:
Codice sorgente - presumibilmente C# / VB.NET |
Dim Selected As TabPage = TabControl.SelectedTab
'Presumo che in una tab ci sia solo il web browser,
'perciò mi riferisco ad asso come il primo (ed unico)
'controllo della tab
CurrentWebBrowser = Selected.Controls(0)
|
E poi gestisci l'evento di quell'oggetto:
Codice sorgente - presumibilmente VB.NET |
Private Sub CurrentWebBrowser_NewWindow2(ByVal sender As Object, ByVal e As AxSHDocVw.DWebBrowserEvents2_NewWindow2Event) Handles CurrentWebBrowser.NewWindow2 Dim frmWB As Form1 frmWB = New Form1() frmWB.AxWebBrowser1.RegisterAsBrowser = True e.ppDisp = frmWB.AxWebBrowser1.Application frmWB.Visible = True End Sub
|
|
|
raf_lele (Normal User)
Newbie
Messaggi: 20
Iscritto: 05/03/2009
|
Ho provato ma neanke così funziona...
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Deve funzionare, posta il codice.
|
|
raf_lele (Normal User)
Newbie
Messaggi: 20
Iscritto: 05/03/2009
|
Codice sorgente - presumibilmente VB.NET |
Public Class Form1 Private WithEvents CurrentWebBrowser As AxSHDocVw.AxWebBrowser Private Sub CurrentWebBrowser_NewWindow2(ByVal sender As Object, ByVal e As AxSHDocVw.DWebBrowserEvents2_NewWindow2Event) Select Case TabControl1.SelectedIndex.ToString() Case 0 CurrentWebBrowser = aWebBrowser1 Case 1 CurrentWebBrowser = WebBrowser2 Case 2 CurrentWebBrowser = WebBrowser3 End Select Dim frmWB As Form1 frmWB = New Form1() frmWB.aWebBrowser1.RegisterAsBrowser = True e.ppDisp = frmWB.aWebBrowser1.Application frmWB.Visible = True End Sub Private Sub AggiungiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AggiungiToolStripMenuItem.Click Dim STRLINE As String Dim FILEREADER As System.IO.StreamReader Dim response As MsgBoxResult If TextBox1.Text = "" Then Exit Sub End If FILEREADER = New System.IO.StreamReader(Application.StartupPath & "\" & "preferiti.txt") STRLINE = FILEREADER.ReadToEnd While STRLINE <> Nothing STRLINE = FILEREADER.ReadToEnd If STRLINE = TextBox1.Text Then MsgBox("Il sito " + TextBox1.Text + "è già presente nella lista dei preferiti") FILEREADER.Close() FILEREADER = Nothing Exit Sub End If End While FILEREADER.Close() FILEREADER = Nothing response = MsgBox("Desideri inserire il sito " + TextBox1.Text + " nella lista dei preferiti?", MsgBoxStyle.YesNo) If response = 6 Then Dim FileWriter As New System.IO.StreamWriter(Application.StartupPath & "\" & "preferiti.txt", True) FileWriter.Write(vbCrLf + TextBox1.Text) FileWriter.Close() FileWriter = Nothing Else Exit Sub End If End Sub
|
Ho un piccolo problema anke con i preferiti se gli dico di non aggiungere un sito già presente nella lista lo aggiunge lo stesso...Come posso risolvere??? Aiutooo
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
1. Dal momento che CurrentWebBrowser all'inizio è Nothing, se tu non lo reimposti prima, rimarrà sempre Nothing e quindi non produrrà eventi. Lo devi impostare nell'evento SelectedTabChanged (o una cosa simile) del TabControl.
2. Hai usato FILEREADER.ReadToEnd() invece che ReadLine().
|
|
raf_lele (Normal User)
Newbie
Messaggi: 20
Iscritto: 05/03/2009
|
Grazie provo...
|
|