منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
بحث بالكومبو بوكس لا ى جزء من النص - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : بحث بالكومبو بوكس لا ى جزء من النص (/showthread.php?tid=47613)



بحث بالكومبو بوكس لا ى جزء من النص - Lathe1 - 13-12-23

بحث بالكومبو  بوكس لا ى جزء من النص وليس اول حرف فقط


RE: بحث بالكومبو بوكس لا ى جزء من النص - justforit - 13-12-23

(13-12-23, 02:08 PM)Lathe1 كتب : بحث بالكومبو  بوكس لا ى جزء من النص وليس اول حرف فقط

ما رايك بالكود:
PHP كود :
Private Sub ComboBox1_TextChanged(sender As ObjectAs EventArgsHandles ComboBox1.TextChanged
     
For As Integer 0 To ComboBox1.Items.Count 1
         Dim t 
As String ComboBox1.Items(i).ToString
         
If t.Contains(ComboBox1.TextThen
             ComboBox1
.SelectedIndex i
             
Exit For
 
        End If
 
    Next
 End Sub 



RE: بحث بالكومبو بوكس لا ى جزء من النص - Lathe1 - 20-12-23

الكود لم يعمل


RE: بحث بالكومبو بوكس لا ى جزء من النص - معاند الحظ - 28-02-24

اخوي جرب الكود هذا  وان شاء الله راح تقدر تبحث بالكومبوبوكس بواسطة اي جزء من النص
طبعا انا عملت هذا المثال بالطريقة التالية
فقط عنصر كومبوبوكس وضعته على النموذج
قمت بتعبئتة بعناصر عشوائية مثل الارقام والايام وهكذا

عدلت الخصائص التالية في الكومبوبوكس
كود :
AutoCompleteMode= Append

AutoCompleteSource= ListItems

DropDownStyle=DropDown



الان بقي كتابة الكود
كود :
Public Class Form1

   Dim tmpText As String = ""
   Dim IsDeleting As Boolean

   Private Sub cboFind_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles cboFind.KeyDown
       If e.KeyCode = Keys.Enter Then
           cboFind.DroppedDown = False
           cboFind.SelectionStart = cboFind.Text.Length
           cboFind.Text = tmpText
           tmpText = ""
       ElseIf e.KeyCode = Keys.Back Then
           IsDeleting = True
           If tmpText.Length > 0 Then
               tmpText = tmpText.Substring(0, tmpText.Length - 1)
           End If
       Else
           IsDeleting = False
       End If
   End Sub

   Private Sub cboFind_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles cboFind.KeyPress
       If Not IsDeleting Then
           cboFind.DroppedDown = True
           tmpText += e.KeyChar
           If cboFind.SelectedText.Length > 0 Then
               cboFind.Text = tmpText
           End If
       End If
   End Sub

   Private Sub ComboBox1_TextChanged(sender As Object, e As System.EventArgs) Handles cboFind.TextChanged
       Dim retval As Integer
       retval = cboFind.FindStringExact(tmpText)
       If retval > -1 Then
           cboFind.SelectedIndex = retval
           cboFind.SelectAll()
       Else
           '  match any text starts with tmpText
           retval = cboFind.FindString(tmpText)
           If retval > -1 Then
               cboFind.Text = cboFind.Items(retval)
               cboFind.SelectAll()
           Else
               For Each itm As String In cboFind.Items
                   If itm.Contains(tmpText) Then
                       cboFind.Text = itm
                       cboFind.SelectAll()
                       Exit For
                   End If
               Next
           End If
       End If
   End Sub

   Private Sub cboFind_MouseClick(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles cboFind.MouseClick
       tmpText = ""
       cboFind.SelectAll()
   End Sub

   Private Sub cboFind_Validated(sender As Object, e As System.EventArgs) Handles cboFind.Validated
       tmpText = ""
   End Sub
End Class

جرب وحاول تعدله بحسب ماتريد