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

نسخة كاملة : اذا امكن تعديل هذا الكود
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم

لو عندى Listbox اريد ازاله item اضفت هذا الكود
كود :
For i As Integer = ListBox2.SelectedIndices.Count - 1 To 0 Step -1
            ListBox2.Items.RemoveAt(ListBox2.SelectedIndices.Item(i))
        Next
        ListBox2.SelectedIndex = ListBox2.SelectedIndex + 1
اريد بعد ازالت الكود يفضل معلم على الايت الى كانت مكنه بمعنى لو كان SelectedIndex = 2 بعد المسح يرجع لى SelectedIndex = 2 يعلى على item الثالثة الان ال SelectedIndex بيبتدى من 0 انا لا اقصد ان يعلم على ثالث item اقصد انو يعلم فى نفس المكن الى اتمسح منه الايتم يعنى SelectedIndex تفضل نفس SelectedIndex
لا ادري هل ما اكتبه ماتريده ام لا
بحدث النقر لزر الامر اكتب:
كود :
Dim i As Integer = ListBox1.SelectedIndex

        ListBox1.Items.Remove(ListBox1.SelectedItem)
        ListBox1.SelectedIndex += i
او من غير +=i
اكتب
=i
كود :
Dim i As Integer = ListBox1.SelectedIndex

        ListBox1.Items.Remove(ListBox1.SelectedItem)
        ListBox1.SelectedIndex = i

نعم هذا هو المطلوب على مااظن
لكن لو تحذف اخر قيمة بيصير خطا
الحل
كود :
Dim i As Integer = ListBox1.SelectedIndex        ListBox1.Items.Remove(ListBox1.SelectedItem)




        If i > ListBox1.Items.Count - 1 Then
            i -= 1


        Else
            i = i
        End If
        ListBox1.SelectedIndex = i
سعود كتب :
كود :
Dim i As Integer = ListBox1.SelectedIndex

        ListBox1.Items.Remove(ListBox1.SelectedItem)
        ListBox1.SelectedIndex = i

نعم هذا هو المطلوب على مااظن

هذا هو المطلوب جزاك الله خير و جعله فى مزان حسناتك
واياك اخي الكريم
فكر بما لو كان البند المراد حذفه آخر قيمة حتما سيحدث خطا والحل #5
سعود كتب :واياك اخي الكريم
فكر بما لو كان البند المراد حذفه آخر قيمة حتما سيحدث خطا والحل #5

يممكننى اضافة Try لاجل عد الحصول على الخطأ شكرآ اخى
تفضل اخى هذا لا يعطى اخطاء اذا كانت الايتم المختارة هيا الاخيرة ويقوم بحذفها

كود :
For i As Integer = 0 To ListBox1.Items.Count - 1
            If ListBox1.SelectedIndex = i Then
                If ListBox1.SelectedIndex = ListBox1.Items.Count - 1 Then
                    ListBox1.Items.RemoveAt(i)
                    ListBox1.SelectedIndex = (i - 1)
                Else
                    ListBox1.Items.RemoveAt(i)
                    ListBox1.SelectedIndex = (i)
                End If

            End If
        Next