تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تلميحة - خاصية Auto Complete
#1
كاتب الموضوع : BADRMEDIA

بسم الله الرحمن الرحيم

الصلاة والسلام على المبعوث للأنام

السلام عليكم ورحمة الله وبركاته

===========================================

عندما تريد أن تجعل أداة صندوق السرد ( ComboBox ) تقوم بالإكمال التلقائي عندما يقوم المستخدم

بإدخال بيانات


كنا نكتب هذا الكود المشهور



كود :
If Char.IsControl(e.KeyChar) Then Return

With Me.ComboBox

Dim ToFind As String = .Text.Substring(0, .SelectionStart) & e.KeyChar
Dim Index As Integer = .FindStringExact(ToFind)

If Index = -1 Then Index = .FindString(ToFind)

If Index > -1 Then
.SelectedIndex = Index
.SelectionStart = ToFind.Length
.SelectionLength = .Text.Length - .SelectionStart
e.Handled = True
End If
End With




فى حدث ComboBox_KeyPress



هذا الكود يمكن بالفعل المستخدم من الاكمال التلقائى

لكن ماذا لو أدرت أن تجعل المستخدم يقوم بادخال للموجود فقط بحيث تكون الخاصية

لأداة صندوق السرد ( ComboBox ) كانها DropDownList

بحيث لو كتب حرف غير موجود فى العناصر لايكتب شئ فى الأداة


بباسطة بعد شرح طويل وجع دماغكم

أن لو البحث عاد بشئ ضع العنصر أمام المستخدم

إن لم يعود مترجعش بشئ ولا تدخل الحرف الجديد



ويكون الكود هكذا

كود :
If Char.IsControl(e.KeyChar) Then Return

With Me.ComboBox1

Dim ToFind As String = .Text.Substring(0, .SelectionStart) & e.KeyChar
Dim Index As Integer = .FindStringExact(ToFind)

If Index = -1 Then Index = .FindString(ToFind)

If Index > -1 Then
.SelectedIndex = Index
.SelectionStart = ToFind.Length
.SelectionLength = .Text.Length - .SelectionStart
e.Handled = True
Else
e.Handled = True
End If
End With



عملت لكم دوشة أنا عارف وطولت فى حاجة بسيطة

========================


بالمناسبة فى دوت نت 2005 هذه الخاصية أصبحت من ضمن الخصائص
}}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم