الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف أعرف أن المستخدم يكتب في الComboBox عنصر جديد من خارج الDataSource؟

مغلق
بدأه الـشـاهيـن في 16 يناير 2007 · 5 رد · 701 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

إخوتي الأعضاء

أريد أن أستخدم الـ comboBox للأسماء بحيث يكون كأداه للاختيار أوللإدخال اسم جديد في نفس الوقت

أنا سويت الـخاصية DropDownStyle=DropDown.

ولكن! أريد عندما يكتب المستخدم اسم من خارج القائمة أن تتغير خلفية الـ comboBox باللون الأحمر مباشرة؟

يعني بعد ادخال أول حرف يختلف فيه الاسم المدخل عن كل الاسماء التي في القائمة؟

حتى يكون تنبيه للمستخدم بأن الاسم جديد وليس من القائمة. ليقوم بتعديله أو يستمر عن علم منه بأنه جديد.

أرجو أن تكون الفكرة واضحة!!!

#2

السلام عليكم

جرب هذا الكود

 Private Sub ComboBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ComboBox1.KeyUp
		If (Me.ComboBox1.FindString(Me.ComboBox1.Text)) <> -1 Then Me.ComboBox1.BackColor = Color.Empty Else Me.ComboBox1.BackColor = Color.Blue
	End Sub

فى آمان الله

Practice makes perfect 2007*

البرمجة بلا انطباعات

#3

أشكرك أخي الكريم bedoonline على الرد

ولكن الكود لم يعمل معي بالطريقة التي ذكرت!

أما بالنسبة للدالة FindString فهل أستطيع أن أستعملها أو ماينوب عنها بحيث تقارن الجزء المكتوب من الاسم مع عناصر الأسماء التي تبدأ به

مثال:

التيكست المكتوب: أحم

العناصر المساوية: أحمد علي - أحمد محمد - أحمد محمود

فلا يظهر خطأ في تلك الحالة ، ويظهر الخطأ عند كتابة : أحمد س أو أحمد خ لأنها من خارج القائمة

و بعد الخروج من الكومبو بكس نقارن مرة أخرى بالدالة FindString لاحتمال عدم اكتمال الاسم.

أرجو ممن لديه أي خلفية أو فكرة أن لايبخل علينا

!

#4

الظاهر أنني تعجلت :^) :^) :^)

الكود تمـــــــــــــــــــــــــــــــــــــــــــــــــــــام و الدالة تقوم بكلللللللل المطووووووب

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

عموما:

الشكر الجزيل لك أخي الكريم bedoonline :) :) :)

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

#5
Private Sub ComboBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.TextChanged
		ComboBox1.BackColor = Color.Red
		For Each s As String In ComboBox1.Items
			If ComboBox1.Text.Length <= s.Length AndAlso ComboBox1.Text = s.Substring(0, ComboBox1.Text.Length) Then
				ComboBox1.BackColor = Color.White
			End If
		Next
End Sub

M0oATH

اقتباس
وكم من طالب غلب أستاذه

#6
الـشـاهيـن كتب:
الظاهر أنني تعجلت :^) :^) :^)

الكود تمـــــــــــــــــــــــــــــــــــــــــــــــــــــام و الدالة تقوم بكلللللللل المطووووووب

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

عموما:

الشكر الجزيل لك أخي الكريم bedoonline :) :) :)

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

لا شكر على واجب أخى

Practice makes perfect 2007*

البرمجة بلا انطباعات

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…