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

كيفية جعل قائمة الكومبوبكس تفتح عند الضغط على مؤشر الكيبورد للاسفل

مغلق
بدأه SANDANET في 10 يوليو 2007 · 9 رد · 844 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أما بعد ...

سؤالي هو كيف اجعل قائمة الكومبو بكس تفتح عند الضغط على مؤشر الكيبورد الاسفل ؟؟؟

اتمنى ان يكون السؤال واضح ...وشكرا

#2

اخي الفاضل

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

تستطيع عمل ذلك من خلال الكود التالي

ضع هذا الكود في حدث عند الضغط على مفتاح للاسفل

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Me.ComboBox1.SetFocus
Select Case KeyCode
Case vbKeyDown: Me.ComboBox1.Dropdown
End Select
End Sub

وضع هذا الكود في حدث عند التحميل

Private Sub Form_Load()
KeyPreview = True
End Sub

وضع هذا الكود في حدث عن تغير الحجم

Private Sub Form_Resize()
KeyPreview = True
End Sub

ComboBox.rar

#3

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

#4

أخي الكريم .. عذرا .. للتدخل

الكود يعمل بشكل سليم جدا .. لكن مالايمكن عمله منطقيا أن نعمل Dropdown

لأكثر من كمبوبوكس في الوقت نفسه .. الكود الذي وضعته أختنا زهرة يعمل Dropdown للكمبو 1

عند ضغط مفتاح للأسفل .. يعني السهم Down

حيث نقلت التركيز لعنصر التحكم ثم تم اجراء الحدث عليه ( لايمكن نقل التركيز لأكثر من عنصر في الوقت ذاته )

اذا كنت تريد فتح اكثر من كمبو فأختر حدثا مغايرا كما في المثال المرفق .. أنظر للكمبو رقم 2 أنقر نقرا مزدوجا

على النموذج سيفتح معك بذات الطريقة

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

EKSEER

ComboBox.rar

#5

أخي الكريم ekseer مشكور جدا على المداخلة ...

1- واضح أن كود الأخت زهرة يعمل بشكل ممتاز

2- ( لايمكن نقل التركيز لأكثر من عنصر في الوقت ذاته ) ؟؟ هل تنجح الطريقة لو تم الاستغناء عن كود نقل التركيز لعنصر التحكم ؟

3- لم أجد شيئاً مغايراً في مثالك أخي الكريم

بارك الله فيكم أجمعين وننتظر من يحاول معنا

#6

السلام عليكم

أخي الكريم .. بارك الله فيك

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

هذا كلامك .. مقتبس .. فأيهما نعتمد ؟

اقتباس
- ( لايمكن نقل التركيز لأكثر من عنصر في الوقت ذاته ) ؟؟ هل تنجح الطريقة لو تم الاستغناء عن كود نقل التركيز لعنصر التحكم ؟

فقط سؤال : كيف ستفتح الكمبو .. بدون نقل التركيز له ؟

اقتباس
أخي الكريم ekseer مشكور جدا على المداخلة ...

3- لم أجد شيئاً مغايراً في مثالك أخي الكريم

أعمل له ارسال لسلة المحذوفات

EKSEER

#7

جرب هذه الطريقة

  1. أفتح المنوذج في عرض التصميم
  2. أختر ( حدث )
  3. أجعل مفتاح التمهيدي ( نعم )
  4. أختر حدث ( عند مفتاح لأسفل ) تظهر صفحة الوحدة النمطية أكتب الكود التالي :

On Error GoTo Err
If KeyCode = 40 Then
Me.ActiveControl.Dropdown
End If
Err:
#8

أخي ekseer تحية طيبة وبعد ...

1- انا ذكرت الجملة كالتالي : ( لكن أعتقد بأن هناك مشكلة في الكود والتي هي عندما يكون أكثر من كومبوبكس في النموذج ) أي ليس المقصود بأن المشكلة في الكود الذي وضعته الأخت زهرة بل تحدث المشكلة عند وضع أكثر من كومبوبكس في النموذج .

2- (هل تنجح الطريقة لو تم الاستغناء عن كود نقل التركيز لعنصر التحكم ؟) المقصود بالسؤال هو عندما اتنقل بـ Tab بين الخانات ووصولي الى خانة الكومبوبكس فعند هذه اللحظة لا نحتاج الى نقل تركيز بل نحتاج الى كود يقوم بفتح قائمة الكومبوبكس بمجرد الضغط على زر الاسفل بالكيبورد .

أتمنى أن تكون الفكرة واضحة.

#9

مشكور جدا جدا أخي مصلح على طريقتك بارك الله فيك ... لكني لم أجربها بعد ولكن أتمنى أن تفي بالغرض.

أخواني الأعزاء بارك الله فيكم أجمعين ... لقد توصلت الى الحل وهو وضع أمر Comboname .Dropdown عند حدث on key down في الكومبوبكس وبالامكان عملها لأكثر من كومبوبكس واحد.

وشكرا

أخوكم sandanet

تم تعديل هذه المشاركة بواسطة SANDANET في 12 يوليو 2007 في 15:22

#10

عفواً لقد نسيت إرفاق المثال

ComboBox.rar

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

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

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

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

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

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