منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : سؤال في الليست بوكس
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
عندي ليست بوكس به 10 اندكس من 0 الي 9
وفي حدث ليست بوكس تشانج 
اضع مسدج بوكس
اريد كود اضعه في زر عن الضغط عليه يضغط الي اندكس مثلا 2 
كتبت الكود بهذه الطريقه 
كود :
ListBox1.SelectedIndex = 2
وبالفعل بيعمل سيلكت علي الاندكس رقم 2 وتظهر رساله ولكن اذا ضغط مره اخري لم يفعل شيئ لأنه علي الاندكس وبالتالي لم تظهر الرساله في حدث الليست بوكس تشانج
اريد كود اذا ضغط علي الزر وهو علي نفس الاندكس يسمع في في الحدث الليست بوكس تشانج وتظهر الرساله حتي ان كان علي النفس الاندكس
(16-01-20, 07:03 PM)اليوم السابع كتب : [ -> ]عندي ليست بوكس به 10 اندكس من 0 الي 9
وفي حدث ليست بوكس تشانج 
اضع مسدج بوكس
اريد كود اضعه في زر عن الضغط عليه يضغط الي اندكس مثلا 2 
كتبت الكود بهذه الطريقه 
كود :
ListBox1.SelectedIndex = 2
وبالفعل بيعمل سيلكت علي الاندكس رقم 2 وتظهر رساله ولكن اذا ضغط مره اخري لم يفعل شيئ لأنه علي الاندكس وبالتالي لم تظهر الرساله في حدث الليست بوكس تشانج
اريد كود اذا ضغط علي الزر وهو علي نفس الاندكس يسمع في في الحدث الليست بوكس تشانج وتظهر الرساله حتي ان كان علي النفس الاندكس

جرب تعمل الغاء للعنصر قبل اختيار جديد 

كود :
ListBox1.SelectedIndex = -1
(16-01-20, 07:53 PM)egypt 2020 كتب : [ -> ]
(16-01-20, 07:03 PM)اليوم السابع كتب : [ -> ]عندي ليست بوكس به 10 اندكس من 0 الي 9
وفي حدث ليست بوكس تشانج 
اضع مسدج بوكس
اريد كود اضعه في زر عن الضغط عليه يضغط الي اندكس مثلا 2 
كتبت الكود بهذه الطريقه 
كود :
ListBox1.SelectedIndex = 2
وبالفعل بيعمل سيلكت علي الاندكس رقم 2 وتظهر رساله ولكن اذا ضغط مره اخري لم يفعل شيئ لأنه علي الاندكس وبالتالي لم تظهر الرساله في حدث الليست بوكس تشانج
اريد كود اذا ضغط علي الزر وهو علي نفس الاندكس يسمع في في الحدث الليست بوكس تشانج وتظهر الرساله حتي ان كان علي النفس الاندكس

جرب تعمل الغاء للعنصر قبل اختيار جديد 

كود :
ListBox1.SelectedIndex = -1

شكرا لك ولكن كده الرساله هتتقرر مرتين مره عند الغاء العنصر علشان هيشوفه الحدث ليست تشانج انه اتغير ومره عند رجوعه لنفس الاندكس
ما ذكره الأخ egypt 2020 صحيح
ولكن ضع شرط في الحدث إذا كان الإندكس=-1 فاخرج من الحدث
مثل
PHP كود :
   Private Sub Button1_Click(sender As ObjectAs EventArgsHandles Button1.Click
        ListBox1
.SelectedIndex = -1
        ListBox1
.SelectedIndex 2
    End Sub

    Private Sub ListBox1_SelectedIndexChanged
(sender As ObjectAs EventArgsHandles ListBox1.SelectedIndexChanged
        If ListBox1
.SelectedIndex = -1 Then Return
 
       MsgBox(sender.Text)
 
   End Sub 
اعمل فحص للعناصر المختارة بمعني لاتظهر رسالة لو الاختيار لا شيء 

كود :
 If Not ListBox1.SelectedIndex = -1 Then
               ' اذا لم  يكون الاختيار لاشيء نفذ الكود
           End If
إذا لم بناسبك هذا الحل
فهناك حل آخر بعمل أداة ListBox معدلة، ولا تحتاج فيها لعمل ListBox1.SelectedIndex = -1، وتلبي طلبك تماما
السلام عليكم ورحمة الله وبركاته

ضع المسج بوكس في حدث cleck للزر أي بعد اختيار الـ index


تمنياتي لك وللجميع التوفيق
(17-01-20, 01:16 AM)baha كتب : [ -> ]السلام عليكم ورحمة الله وبركاته

ضع المسج بوكس في حدث cleck للزر أي بعد اختيار الـ index


تمنياتي لك وللجميع التوفيق

جزاكم الله كل خير