Salve ragazzi,
sto creando un programma che ogni tot secondi apre una nuova scheda (del tabcontrol) e naviga su un indirizzo che ho precedentemente impostato.

Ho creato un nuovo therd così da alleggerire il tutto:

codice:
dim inte as integer=0
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Control.CheckForIllegalCrossThreadCalls = False
            Dim MyThread As New Thread(AddressOf avvio)
            MyThread.Start()
codice:
Private Sub avvio()
        Do

intervallo = numerocasuale.Next(60000, 180000)
CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).Navigate(ListBox1.SelectedItem)

 With ListBox1
                If .SelectedIndex < 0 Or .SelectedIndex = .Items.Count - 1 Then
                    TabControl1.TabPages.Clear()
                    inte = 0

                    ListBox1.SelectedIndex = 0


                Else
                   
                   

                    .SelectedIndex += 1
                  Threading.Thread.Sleep(intervallo)


                    Dim Browser As New WebBrowser
                    TabControl1.TabPages.Add("Nuova Scheda")
                    Browser.Name = "Web Browser"
                    Browser.Dock = DockStyle.Fill
                    TabControl1.SelectedTab.Controls.Add(Browser)
                    AddHandler Browser.DocumentCompleted, AddressOf Done
                    inte = inte + 1
                    CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).Navigate("www.google.it")
                    CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).ScriptErrorsSuppressed = True
                   
                End If
          
            End With

        Loop
In sostanza vorrei che ogni tot minuti, apre una nuova scheda-->attivi la scheda appena aperta (lasciando quella vecchia aperta, ma non attiva)---> navigare sul link.

Però appena lo provo, il primo link lo fa correttamente in quando ho impostato che all'avvio abbia questo codice:
codice:
 Dim Browser As New WebBrowser
        TabControl1.TabPages.Add("Nuova Scheda")
        Browser.Name = "Web Browser"
        Browser.Dock = DockStyle.Fill
        TabControl1.SelectedTab.Controls.Add(Browser)
        AddHandler Browser.DocumentCompleted, AddressOf Done
        inte = inte + 1
        CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).Navigate("www.google.it")
        CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).ScriptErrorsSuppressed = True
cioè apre una nuova scheda su "google", ma appena cerca di aprire la seconda si ferma e mi dà:

"Impossibile creare un'istanza del controllo ActiveX '8856f961-340a-11d0-a96b-00c04fd705a2' perché il thread corrente non è un apartment a thread singolo."


Come mai? come posso fare per risolvere? Grazie mille in anticipo!