Public Class Form1
Dim dt As New DataTable()
Dim hold As Boolean
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
dt.Columns.AddRange(New DataColumn() {New DataColumn("title"), New DataColumn("section"), New DataColumn("link")})
Dim wc As New Net.WebClient()
Dim src As String = wc.DownloadString("http://arab-live.ucoz.net/Test.txt")
For Each str As String In src.Split(vbLf) '
Dim splt() = Split(str, ",")
Dim r As DataRow = dt.NewRow
r.Item("title") = splt(0)
r.Item("section") = splt(1)
r.Item("link") = splt(2)
dt.Rows.Add(r)
Next
TextBox1_TextChanged(Nothing, Nothing)
ComboBox1.SelectedIndex = 0
TextBox1.Focus()
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
If hold Then Exit Sub
Try
Dim s As String = Me.ListBox1.SelectedValue
If s.Trim <> "" AndAlso s.Trim.StartsWith("http://") Then s = "http://" & s
If s <> "" Then Process.Start(s)
Catch ex As Exception
End Try
End Sub
Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
hold = True
Dim q As IEnumerable(Of DataRow)
If ComboBox1.Text = "All" Then
q = From x As DataRow In dt
Where x.Item("title").ToString.ToLower.StartsWith(Me.TextBox1.Text.Trim.ToLower)
Else
q = From x As DataRow In dt
Where x.Item("section").ToString.ToLower.StartsWith(Me.ComboBox1.Text.Trim.ToLower) _
And x.Item("title").ToString.ToLower.StartsWith(Me.TextBox1.Text.Trim.ToLower)
End If
Me.ListBox1.DataSource = If(q.Count = 0, Nothing, q.CopyToDataTable)
Me.ListBox1.DisplayMember = "title"
Me.ListBox1.ValueMember = "link"
Me.ListBox1.SelectedIndex = -1
hold = False
End Sub
Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
TextBox1_TextChanged(Nothing, Nothing)
End Sub
End Class