تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤال: كيف احفظ قيم من ListBox بشرط ان تكون محدده ؟
#1
السلام عليكم ورحمة الله وبركاته ،،،

إخواني لدي ListBox وفيها مجموعة قيم تم إحضارها من قاعدة بيانات ..

وجعلت قيمة SelectionMode = MultiSimple

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

في خيار الضغط على الزر وضعت حلقة For وفي داخلها شرط IF أريده ان يتحقق هل الخيار الأول محدد أم لا ومن ثم يتم تخزين القيمة ..

الذي أريده وهو السؤال كيف أكتب صيغة الشرط ( يعني كيف أكتب شفرة هل هذا محدد ..؟ ).

أتمنى يكون سؤالي واضح ، وشكراً.
قال رسول الله صلى الله عليه وسلم ( من قال لا إله إلا الله دخل الجنة ) حديث صحيح.
قال رسول الله صلى الله عليه وسلم ( كلمتان خفيفتان على اللسان ثقيلتان في الميزان حبيبتان للرحمن : سبحان الله وبحمده سبحان الله العظيم ) حديث صحيح.
الرد }}}
تم الشكر بواسطة:
#2
كود :
If myArray(0) = ListBox1.Items(0) Then
            'Do something!'
        End If
الرد }}}
تم الشكر بواسطة:
#3
السلام عليكم ورحمة الله وبركاته

اشكرك أخي [b]Aly El-Haddad[/b] على تجاوبك معي ولكن ما أردت ولله الحمد وصلت له وهذا هو الحل لسؤالي بعد بحث :

كود :
Dim qa(80) As String    ' مصفوف برقم أكبر من الحاجة بقليل
Dim cc As Integer = 0   ' عدد عناصر المصفوفة

كود :
cc = 0


For q As Integer = 0 To Me.ListBox1.Items.Count - 1 ' تكون الحلقة بعدد العناصر في القائمة
If ListBox1.GetSelected(q) = True Then          ' اذا كان العنصر الأول محدد يطبق الشرط
qa(cc) = Me.ListBox1.SelectedValue.ToString ' تخزين القيمة المحددة في المصفوفة وهي أول قيمة محددة بالقائمة
ListBox1.SetSelected(q, False)              ' حتى اضمن عدم تكرار القيمة وضعت أمر إلغاء التحديد عن القيمة الأولى
cc = cc + 1                                 ' ومنها يتم زيادة العدد +1 لتخزين القيمة القادمة إن وجدت
End If
Next


وبذلك تم المطلوب وإن كانت هنالك حلول أخرى فياليت يتم طرحها إن وجدت.

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

كود :
'تعريف مصفوفة من نوع نص غير محددة العناصر
    Dim qa() As String
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'هنا يتم تعريف عدد عناصر المصفوفة بحسب عدد الاختيارات
        ReDim qa(ListBox1.SelectedItems.Count - 1)
        'نسخ العناصر المختارة إلى المصفوفة بدءا من بدايتها أي صفر
        ListBox1.SelectedItems.CopyTo(qa, 0)
        'إظهار عناصر المصفوفة
        MsgBox(Strings.Join(qa, vbNewLine))
    End Sub

بالتوفيق
الرد }}}
تم الشكر بواسطة:
#5
السلام عليكم ورحمة الله وبركاته

أسأل الله أن تكونوا في أتم صحة وعافية (أول مشاركة)

ما رأيك باستخام List(Of وهي أسهل من طريقة المصفوفة التقليدية
واستخدام For Each لقراءة العناصر وهي أسهل من طريقة For Next
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


        ' myList تعريف بقائمة خاصة
        Dim myList As New List(Of String)


        ' myList في القائمة الخاصة ListBox1 حفظ العناصر المختارة من
        For Each itm In Me.ListBox1.SelectedItems
            myList.Add(itm)
        Next

        MessageBox.Show("عدد العناصر المختارة = " & myList.Count)

        ' ListBox2 في myList عرض القائمة الخاصة
        For Each itm In myList
            Me.ListBox2.Items.Add(itm)
        Next


    End Sub

السلام عليكم ورحمة الله وبركاته
الرد }}}
تم الشكر بواسطة:
#6
وعليكم السلام ورحمة الله وبركاته ، يا أهلاً بأخواني الأعزاء ..

أخي sooriaty03 :

بخصوص الشفرة التي وضعتها فهي تظهر لي هذا الخطأ بسطر النسخ وهو الثاني :
Object cannot be stored in an array of this type.

أخي @@أبورائد@@ :

بخصوص الشفرة فأنه يظهر لي هذا الخطأ في السطر الثالث :
Conversion from type 'DataRowView' to type 'String' is not valid.

وشاكر لكم حسن التجاوب معي ، وأتمنى أخرج بشفرة أسهل وأفضل من شفرتي الأساسية.
قال رسول الله صلى الله عليه وسلم ( من قال لا إله إلا الله دخل الجنة ) حديث صحيح.
قال رسول الله صلى الله عليه وسلم ( كلمتان خفيفتان على اللسان ثقيلتان في الميزان حبيبتان للرحمن : سبحان الله وبحمده سبحان الله العظيم ) حديث صحيح.
الرد }}}
تم الشكر بواسطة:
#7
السلام عليكم ورحمة الله وبركاته


المثال السابق ومثال الأخ sooriaty03 للتعامل مع ListBox، ولكن يبدو أنك تريد استخدامه مع DataGridView وإليك الطريقة لذلك
ولتحديد الخلية فقط غير رقمها الذي باللون الأحمر (الخلية تعني العمود)

كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


        ' myList تعريف بقائمة خاصة
        Dim myList As New List(Of String)


        ' DataGridView1 قراءة الاسطر المختارة من
        For Each rw As DataGridViewRow In DataGridView1.SelectedRows

            ' myList حفظ الخلية الأولى(العمود الأول) من السطر المختار إلى القائمة الخاصة
            myList.Add(DataGridView1.Rows(rw.Index).Cells( [color=#FF0000]0[/color] ).Value)

        Next


        ' ListBox2 في myList عرض القائمة الخاصة
        For Each itm In myList
            Me.ListBox1.Items.Add(itm)
        Next


        MessageBox.Show("عدد العناصر المختارة = " & myList.Count)


    End Sub

السلام عليكم ورحمة الله وبركاته
الرد }}}
تم الشكر بواسطة:
#8
وعليكم السلام ورحمة الله وبركاته

ليس صحيح أخي أبورائد ، وأنما أريد استخدامه مع أداة ListBox .. وتظهر لي الأخطاء السابقة.
قال رسول الله صلى الله عليه وسلم ( من قال لا إله إلا الله دخل الجنة ) حديث صحيح.
قال رسول الله صلى الله عليه وسلم ( كلمتان خفيفتان على اللسان ثقيلتان في الميزان حبيبتان للرحمن : سبحان الله وبحمده سبحان الله العظيم ) حديث صحيح.
الرد }}}
تم الشكر بواسطة:
#9
عبد الله كتب :وعليكم السلام ورحمة الله وبركاته

ليس صحيح أخي أبورائد ، وأنما أريد استخدامه مع أداة ListBox .. وتظهر لي الأخطاء السابقة.

السلام عليكم
أخي الكريم كم إصدار الفيجوال لديك؟
الرد }}}
تم الشكر بواسطة:
#10
وعليكم السلام ورحمة الله وبركاته

الإصدار هو : 2010 Express
قال رسول الله صلى الله عليه وسلم ( من قال لا إله إلا الله دخل الجنة ) حديث صحيح.
قال رسول الله صلى الله عليه وسلم ( كلمتان خفيفتان على اللسان ثقيلتان في الميزان حبيبتان للرحمن : سبحان الله وبحمده سبحان الله العظيم ) حديث صحيح.
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  سؤال عن عملية حذف سجل من قاعدة البيانات assuhimi 3 249 11-02-24, 08:43 PM
آخر رد: assuhimi
Big Grin [سؤال] سؤال على السريع أبو خالد الشكري 0 176 29-01-24, 08:58 AM
آخر رد: أبو خالد الشكري
  سؤال بسيط يا احبتى فى الله خالد كامل1 4 314 07-01-24, 12:55 AM
آخر رد: Mujahef
  سؤال فى برمجة جهاز الباركود خالد كامل1 6 477 05-01-24, 12:25 AM
آخر رد: HALIM ELEULMA
  سؤال فى عمل تقرير مفصل خالد كامل1 1 271 26-12-23, 04:30 PM
آخر رد: تركي الحلواني
  [سؤال] سؤال محمد العموري 5 368 11-12-23, 10:11 AM
آخر رد: تركي الحلواني
Heart [VB.NET] كيفية جعل الدتاجريديد فيو تظهر عندما تكون قاعدة البيانات فارغه الحزين اليماني 1 371 22-11-23, 05:31 PM
آخر رد: justforit
  [VB.NET] listbox تلوين عدد من هذه الأسماء mervandz 3 420 18-11-23, 01:35 AM
آخر رد: sniper2030
Heart [C#.NET] حول خطأ في فرز عامود التاريخ عندما تكون إحدى الخانات فارغة بلال بلال 3 338 16-11-23, 12:02 AM
آخر رد: بلال بلال
Information [VB.NET] حذف كل العناصر التي تاتي بعد عنصر الذي احدده listbox mervandz 3 287 10-11-23, 07:12 PM
آخر رد: justforit

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم