منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
سؤال: كيف احفظ قيم من ListBox بشرط ان تكون محدده ؟ - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : سؤال: كيف احفظ قيم من ListBox بشرط ان تكون محدده ؟ (/showthread.php?tid=7201)

الصفحات: 1 2


سؤال: كيف احفظ قيم من ListBox بشرط ان تكون محدده ؟ - عبد الله - 01-12-12

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

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

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

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

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

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

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


سؤال: كيف احفظ قيم من ListBox بشرط ان تكون محدده ؟ - Aly El-Haddad - 01-12-12

كود :
If myArray(0) = ListBox1.Items(0) Then
            'Do something!'
        End If



سؤال: كيف احفظ قيم من ListBox بشرط ان تكون محدده ؟ - عبد الله - 14-12-12

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

اشكرك أخي [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


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

وفق الله الجميع للخير.


سؤال: كيف احفظ قيم من ListBox بشرط ان تكون محدده ؟ - sooriaty03 - 14-12-12

السلام عليكم ورحمة الله وبركاته
أخي الكريم
تفضل هذا الكود قد يفيدك إن شاء الله
ففيه طلبك ولكن أسهل بكثير

كود :
'تعريف مصفوفة من نوع نص غير محددة العناصر
    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

بالتوفيق


سؤال: كيف احفظ قيم من ListBox بشرط ان تكون محدده ؟ - @@أبورائد@@ - 14-12-12

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

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

ما رأيك باستخام 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

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



سؤال: كيف احفظ قيم من ListBox بشرط ان تكون محدده ؟ - عبد الله - 14-12-12

وعليكم السلام ورحمة الله وبركاته ، يا أهلاً بأخواني الأعزاء ..

أخي sooriaty03 :

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

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

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

وشاكر لكم حسن التجاوب معي ، وأتمنى أخرج بشفرة أسهل وأفضل من شفرتي الأساسية.


سؤال: كيف احفظ قيم من ListBox بشرط ان تكون محدده ؟ - @@أبورائد@@ - 15-12-12

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


المثال السابق ومثال الأخ 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

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



سؤال: كيف احفظ قيم من ListBox بشرط ان تكون محدده ؟ - عبد الله - 19-12-12

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

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


سؤال: كيف احفظ قيم من ListBox بشرط ان تكون محدده ؟ - sooriaty03 - 19-12-12

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

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

السلام عليكم
أخي الكريم كم إصدار الفيجوال لديك؟


سؤال: كيف احفظ قيم من ListBox بشرط ان تكون محدده ؟ - عبد الله - 19-12-12

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

الإصدار هو : 2010 Express