منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : استفسار في التيكست بوكس
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
بسم الله الرحمن الرحيم 
-----------------------------------------
عندي استفسار داخل اداة التيكست بوكس وهو اني اريد عمل هذه الاداة كنوع من البحث بمعني

اني اريد عندما اكتب في الاداة حرف B يظهر لي جميع ال Iteam التي تحتوي علي حرف B داخل اداة الليست بوكس 

المثال في الصور واحب ان
---------------------------------------------------
اوضع اكثر انا عندي مثلا اكثر من 300 Iteam في الليست بوكس واريد تسهيل عملية الحصول عليه 

فاريد عندما اكتب حرف B مثلا يحذف الليست بوكس جميع Iteam التي لايبدء اولها بي حرف B وعندما اشيله يرجع الليست بوكس الي اصله 




(22-05-16, 06:09 PM)amgad525 كتب : [ -> ]
PHP كود :
Public Class Form1

    Dim dt 
As New DataTable()

 
   Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load

        dt
.Columns.AddRange(New DataColumn() {New DataColumn("Display"), New DataColumn("Value")})

 
       Dim wc As New Net.WebClient() With {.Encoding System.Text.Encoding.UTF8}
 
       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
            If splt
.Count 0 Then r.Item("Display") = splt(0) Else r.Item("Value") = ""
 
           If splt.Count 1 Then r.Item("Value") = splt(1) Else r.Item("Value") = ""
 
           dt.Rows.Add(r)
 
       Next

        Me
.ListBox1.DataSource dt
        Me
.ListBox1.DisplayMember "Display"
 
       Me.ListBox1.ValueMember "Value"
 
       Me.ListBox1.SelectedIndex = -1

    End Sub


    Dim hold 
As Boolean

    Private Sub TextBox1_TextChanged
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles TextBox1.TextChanged
        hold 
True

        Dim q 
As IEnumerable(Of DataRow) = (From x As DataRow In dt Where x.Item("Display").ToString.ToLower.StartsWith(Me.TextBox1.Text.Trim.ToLower))

 
       Me.ListBox1.DataSource = If(q.Count 0Nothingq.CopyToDataTable)
 
       Me.ListBox1.DisplayMember "Display"
 
       Me.ListBox1.ValueMember "Value"
 
       Me.ListBox1.SelectedIndex = -1

        hold 
False
    End Sub

    Private Sub ListBox1_SelectedIndexChanged
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles ListBox1.SelectedIndexChanged
        If hold Then 
Exit Sub
        Try
            Dim s 
As String Me.ListBox1.SelectedValue
            If s 
<> "" Then Process.Start(s)
 
       Catch ex As Exception
        End 
Try
 
   End Sub

End 
Class 

linq Smile
(22-05-16, 09:26 PM)%Eman% كتب : [ -> ]
(22-05-16, 06:09 PM)amgad525 كتب : [ -> ]
PHP كود :
Public Class Form1

    Dim dt 
As New DataTable()

 
   Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load

        dt
.Columns.AddRange(New DataColumn() {New DataColumn("Display"), New DataColumn("Value")})

 
       Dim wc As New Net.WebClient() With {.Encoding System.Text.Encoding.UTF8}
 
       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
            If splt
.Count 0 Then r.Item("Display") = splt(0) Else r.Item("Value") = ""
 
           If splt.Count 1 Then r.Item("Value") = splt(1) Else r.Item("Value") = ""
 
           dt.Rows.Add(r)
 
       Next

        Me
.ListBox1.DataSource dt
        Me
.ListBox1.DisplayMember "Display"
 
       Me.ListBox1.ValueMember "Value"
 
       Me.ListBox1.SelectedIndex = -1

    End Sub


    Dim hold 
As Boolean

    Private Sub TextBox1_TextChanged
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles TextBox1.TextChanged
        hold 
True

        Dim q 
As IEnumerable(Of DataRow) = (From x As DataRow In dt Where x.Item("Display").ToString.ToLower.StartsWith(Me.TextBox1.Text.Trim.ToLower))

 
       Me.ListBox1.DataSource = If(q.Count 0Nothingq.CopyToDataTable)
 
       Me.ListBox1.DisplayMember "Display"
 
       Me.ListBox1.ValueMember "Value"
 
       Me.ListBox1.SelectedIndex = -1

        hold 
False
    End Sub

    Private Sub ListBox1_SelectedIndexChanged
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles ListBox1.SelectedIndexChanged
        If hold Then 
Exit Sub
        Try
            Dim s 
As String Me.ListBox1.SelectedValue
            If s 
<> "" Then Process.Start(s)
 
       Catch ex As Exception
        End 
Try
 
   End Sub

End 
Class 

linq Smile
مش ده طلبي
ياخي افهمني مش طلبي ده اقرء المكتوب كويس
ياجماعة حدا يساعدني في حل هذه المشكلة
جرب الكود ده قولى النتيجة


Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged

Dim items = From it In ListBox1.Items.Cast(Of Object)()
Where it.ToString().IndexOf(TextBox1.Text, StringComparison.CurrentCultureIgnoreCase) >= 0
Dim matchingItemList As List(Of Object) = items.ToList()
ListBox1.BeginUpdate()
ListBox1.Items.Clear()
For Each item In matchingItemList
ListBox1.Items.Add(item)
Next
ListBox1.EndUpdate()

End Sub
PHP كود :
Private Sub TextBox1_TextChanged(ByVal sender As ObjectByVal e As EventArgsHandles TextBox1.TextChanged
    
Static myList As Array
    If 
IsNothing(myListThen myList Me.ListBox1.Items.OfType(Of String).ToArray
    Me
.ListBox1.Items.Clear()
    
Me.ListBox1.Items.AddRange((From x As String In myList Where x.ToLower.StartsWith(Me.TextBox1.Text.Trim.ToLower)).ToArray)
End Sub 
(23-05-16, 12:05 PM)amgad525 كتب : [ -> ]
PHP كود :
Private Sub TextBox1_TextChanged(ByVal sender As ObjectByVal e As EventArgsHandles TextBox1.TextChanged
    Static myList 
As Array
 
   If IsNothing(myListThen myList Me.ListBox1.Items.OfType(Of String).ToArray
    Me
.ListBox1.Items.Clear()
 
   Me.ListBox1.Items.AddRange((From x As String In myList Where x.ToLower.StartsWith(Me.TextBox1.Text.Trim.ToLower)).ToArray)
End Sub 
شكرا شكرا علي مجهوداتك الكود اشتغل تمام

(24-05-16, 12:21 PM)عبدالرحمن المكاوي كتب : [ -> ]
(23-05-16, 12:05 PM)amgad525 كتب : [ -> ]
PHP كود :
Private Sub TextBox1_TextChanged(ByVal sender As ObjectByVal e As EventArgsHandles TextBox1.TextChanged
    Static myList 
As Array
 
   If IsNothing(myListThen myList Me.ListBox1.Items.OfType(Of String).ToArray
    Me
.ListBox1.Items.Clear()
 
   Me.ListBox1.Items.AddRange((From x As String In myList Where x.ToLower.StartsWith(Me.TextBox1.Text.Trim.ToLower)).ToArray)
End Sub 
شكرا شكرا علي مجهوداتك الكود اشتغل تمام
لكن عن ربط البرنامج بقاعدة داتا سورس وكتابت اي حرف انظر ماذا يحدث
المرجو حل في اسرع وقت
(24-05-16, 03:39 PM)عبدالرحمن المكاوي كتب : [ -> ]المرجو حل في اسرع وقت

قم بالغاء ارتباط الليست بوكس بالداتاسورس قبل  تنظيف محتويات الليست بوكس.
الصفحات : 1 2