Puedes probar a hacer lo siguiente, esto lo estoy usando yo para ver que formularios estan abiertos ya y no volver a abrirlos.
Código vb:
Ver original' Este lo declaras dentro del Class
Public ControlAbiertos As New List(Of String)
' Esto ya iria en una funcion
If Not ControlAbiertos.Contains(Pagina) Then
ControlAbiertos.Add(Pagina)
End If
Te explico por encima lo que se pretende conseguir con esto:
ControlAbiertos es una lista de Strings (En este caso las URL)
Pagina es la URL que le estas intentando meter
El
IF te esta buscando lo que estas intentando meter en la lista que ya tienes, si no lo a encontrado lo mete, sino no hace nada.
Luego para rellenar el control del combo puedes hacer un For Each a ControlAbiertos, que contendrá todas las páginas abiertas sin que esten repetidas.
Dentro del IF tambien le puedes meter la parte de que si la página es "about
:blank" que tampoco la meta.
Como digo siempre este es un código de ejemplo, luego cada uno lo adapta a las necesidades que se tengan.
Código vb:
Ver originalDim ControlAbiertos As New List(Of String)
Dim Pagina As String
Pagina = "" ' Aqui tienes que meterle la url según la estés obteniendo.
' Esto ya iria en una funcion
If Not ControlAbiertos.Contains(Pagina) And Pagina <> "about:blank" Then
ControlAbiertos.Add(Pagina)
End If
' Esto seria por ejemplo para llenar con las paginas
For Each Urls In ControlAbiertos
ComboBox1.Items.Add(Urls)
Next
Luego en el caso de querer borrar alguna URL simplemente le haces un ControlAbiertos.Remove(Pagina) y listo.
Espero que te sirva el ejemplo y consigas lo que necesitas.