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

كيف أجعل Combobox يظهر قائمته بدون الماوس وبدون ما أضغط عليه

بدأه hatif في 19 فبراير 2008 · 9 رد · 2,094 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

سؤالي حول كيف أفتح قائمة combobox بدون ما أضغط عليه

يعني مثلا إذا ضغطت زر الأمر يفتح combobox قائمته تلقائيا

وشكرا

#2

للرفع

#3

والله ما فهمت سؤالك زين

اللي فهمته انك تبغا المحتويات تكون ظاهره بدون الضغط على زر الإظهار

الحل: استخدم ListBox وحدد حجمه وحط له Scroll

#4

يوجد من ضمن خيارات الاداة خاصية نمط العرض على ما أظن اسمها selectmode

اختر منها الخيار simple وسوف يفي بالغرض

أنا الرجل الضرب الذي تعرفونه***خشاش كرأس الحية المتوقد

لوكنت وغلاً في الرجال لضرني**** حسن جرائتي ومقتدي

منتديات طريق الهداية

#5

الأخوة t15 و أبوعزام

شكرا لكم على الرد

والذي أريده هو أن يكون combobox كما هو ولكن بدل ما أضغط عليه بالماوس ليفتح القائمة أن أضغط إنتر مثلا فيفتح القائمة إذا كان هو العنصر المحدد حاليا فيكون بذلك أسرع في إدخال البيانات لإن الماوس يبطيء إدخال البيانات لمن هو متعود على استعمال الكيبورد .

يعني أضغط زر tab ليتم تحديد الكومبوبوكس ثم مباشرة زر إنتر فتفتح القائمة بدون استخدام الماوس نهائيا .

أما الليست بوكس فلا تخدمني مثل الكومبوبوكس لأنها تأخذ حيز ومساحة من الفورم والكومبوبوكس لايأخذ حيز ويوفر في المساحة .

آمل أن أكون قد وضحت الصورة بشكل مناسب .

وشكرا

#6

السلام عليكم

عملية فتح القائمة عند الضغط على زر انتر تحتاج إلى وقت لكي نقوم ببرمجتها فهي ممكن ولكن عن طريق البرمجة ويتم ذلك عن طريق عمل آداة خاصة لها فالفكرة جميلة ...

أما الحل الاسرع فهو عملية الاكمال التلقائي للقائمة .. ماذا يعني هذا .. هو انك عند الوصول او تحديد الكومبو تقوم بكتابة اول حرف من المعلومة التي تريدها فيقوم هو بحصر جميع المعلومات الموافقة لها وعرضها في قائمة منسدلة من الكومبو يعني عملية فلترة للقائمة ولكن شكل القائمة مختلف شوية ... ولتجربتها قم بعمل التالي :

1- في خصائص الكومبو حدد Autocomplet mode=suppest append

2- في خصائص الكومبو حدد Auto complet source = listItems

2- في حصائص الكومبو حدد drop douwn style= DropDouwn

طبعاً يتم ذلك كلة بعد تعبئة القائمة بالداتا ست الخاصة بك .

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

جرب ورد علينا ،

#7

أخي aswany شكرا لك على الرد

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

أنا وجدت طريقة ولكن لا أعرف كيف أستفيد منها وهي أنه عندما تضغط بالكيبورد زر F4 فإن القائمة تنفتح كلها ولكن أنا أريد أن يكون ذلك عن طريق زر إنتر

حاولت بالكود التالي وتظهر لي علامة الخطأ

وضعت في حدث KeyDown للكمبوبوكس التالي

If e.KeyCode = Keys.Enter Then
			Keys.Enter = e.KeyCode.F4
		End If

كيف أصحح الكود لكي يكون زر إنتر يقوم بعمل زر F4 لكي تفتح القائمة ؟

وشكرا لك أخي الفاضل على المساعدة

#8

السلام عليكم

الحمد لله وجدت الحل بعد بحث وتجربة الكثير من الطرق وهو حل سليم 100% إن شاء الله

الحل يكون باستدعاء زر F4 في الحدث KeyUp للكومبوبوكس

فلما يضغط المستخدم زر إنتر تفتح القائمة كلها ويستطيع التنقل بين الصفوف بالأسهم فوق وتحت ولما يختار المستخدم أحد الصفوف بالوقوف عليه ويضغط إنتر مرة ثانية تكون خاصية text للكومبوبوكس هي الصف النص الذي وقف عليه .

 If e.KeyCode = Keys.Enter Then
			If ComboBox1.Text = Trim("") Then
			   My.Computer.Keyboard.SendKeys("{F4}")
			Else
				ComboBox1.Text = ComboBox1.SelectedText
			End If
		End If
#9

هل وجد احدكم طريقة لتنفيذ هذا في الداتا جريد

#10

أخي شوف مشاركتي في الرابط التالي:

/index.php?showtopic=222391&view=findpost&p=1099793

بالتوفيق

1338031614581.png

" اللهــم إنّا مغلــوبــون فانتصــــر "

(اللهم سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم)

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

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

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

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

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