01-10-12, 11:33 PM
كاتب الموضوع : samerselo
تقوم الفكرة على استخدام الحدث Validating للتأكد من أن المستخدم قد اختار ما يطابق قائمة القيم المقترحة.
للتجربة قم بإنشاء مشروع جديد ثم أضف إليه صندوقي نصوص
في الحدث Load للنموذج ضع الكود التالي
في الحدث Validating لصندوق النصوص TextBox1 ضع الكود التالي
شغل البرنامج وقم بالتجربة
تقوم الفكرة على استخدام الحدث Validating للتأكد من أن المستخدم قد اختار ما يطابق قائمة القيم المقترحة.
للتجربة قم بإنشاء مشروع جديد ثم أضف إليه صندوقي نصوص
في الحدث Load للنموذج ضع الكود التالي
كود :
' تعريف مصفوفة ستحمل خياراتنا للإكمال التلقائي
Dim Lis As New List(Of String)
Lis.Add("Visual Basic")
Lis.Add("Visual C#")
Lis.Add("Visual C++")
Lis.Add("Pascal")
Lis.Add("Delphi")
Lis.Add("C++")
Lis.Add("2100")
Lis.Add("3200")
Lis.Add("Nokia 6600")
Lis.Add("Nokia 3250")
Lis.Add("Nokia 7610")
' تحديد طريقة الإكمال التلقائي
Me.TextBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend
' تحديد مصدر الإكمال التلقائي
Me.TextBox1.AutoCompleteSource = AutoCompleteSource.CustomSource
' إضافة القائمة الخاصة بنا كمصدر للإكمال التلقائي
Me.TextBox1.AutoCompleteCustomSource.Clear()
Me.TextBox1.AutoCompleteCustomSource.AddRange(Lis.ToArray)
كود :
If Me.TextBox1.AutoCompleteCustomSource.Count = 0 Then
' إذا كانت قائمة الإكمال التلقائي فارغة
Me.TextBox1.Text = String.Empty
Exit Sub
Else
' تحديد إذا كان النص موجود ضمن قائمة الإكمال التلقائي
For Each Str As String In Me.TextBox1.AutoCompleteCustomSource
If Str.ToUpper = Me.TextBox1.Text.ToUpper Then
Me.TextBox1.Text = Str
Exit Sub
End If
Next
End If
' إذا وصلنا إلى هنا فهذا يعني أن النص المدخل غير موجود
' في قائمة الإكمال التلقائي فتكون عملية التحقق فاشلة
e.Cancel = True
شغل البرنامج وقم بالتجربة