13-12-23, 02:08 PM
13-12-23, 09:22 PM
(13-12-23, 02:08 PM)Lathe1 كتب : [ -> ]بحث بالكومبو بوكس لا ى جزء من النص وليس اول حرف فقط
ما رايك بالكود:
PHP كود :
Private Sub ComboBox1_TextChanged(sender As Object, e As EventArgs) Handles ComboBox1.TextChanged
For i As Integer = 0 To ComboBox1.Items.Count - 1
Dim t As String = ComboBox1.Items(i).ToString
If t.Contains(ComboBox1.Text) Then
ComboBox1.SelectedIndex = i
Exit For
End If
Next
End Sub
20-12-23, 10:38 PM
الكود لم يعمل
28-02-24, 02:59 AM
اخوي جرب الكود هذا وان شاء الله راح تقدر تبحث بالكومبوبوكس بواسطة اي جزء من النص
طبعا انا عملت هذا المثال بالطريقة التالية
فقط عنصر كومبوبوكس وضعته على النموذج
قمت بتعبئتة بعناصر عشوائية مثل الارقام والايام وهكذا
عدلت الخصائص التالية في الكومبوبوكس
الان بقي كتابة الكود
جرب وحاول تعدله بحسب ماتريد
طبعا انا عملت هذا المثال بالطريقة التالية
فقط عنصر كومبوبوكس وضعته على النموذج
قمت بتعبئتة بعناصر عشوائية مثل الارقام والايام وهكذا
عدلت الخصائص التالية في الكومبوبوكس
كود :
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جرب وحاول تعدله بحسب ماتريد