+4 امتیاز

سلام

من یه دکمه گزاشتم و دو لیست باکس

میخام وقتی کلیک کردم روی دکمه  یکی از ایتم های لیست باکس 1 تو لیست باکس 2 نمایش بده

برای این برنامه این کد رو نوشتم ولی ارور میده

 

   int b = listBox1.Items.Count();
                        int a = Random(b);
            listBox2.Items.Add(listBox1.Items.IndexOf(a));

ممنون میشم بگید مشکل کجاست
 

1 پاسخ

+6 امتیاز

سلام.

        private void button1_Click_1(object sender, EventArgs e)
        {
            if (listBox1.Items.Count == 0)
            {
                MessageBox.Show("آیتمی در لیست باکس یک وجود ندارد");
                return;
            }
            ///
            Random rand = new Random();
            listBox2.Items.Add(listBox1.Items[rand.Next(0, listBox1.Items.Count)]);
        }

خط ها رو یکی یکی براتون توضیح میدم تا بدونید اشغال کار کجاست.

int b = listBox1.Items.Count();

Count یک متد نیست و نباید پرانتز باز و بسته داشته باشه.

______________________________________________________________________

 int a = Random(b);

رندم یک کلاسه و برای استفاده ازش باید نمونه سازی کنید کلاس به خودی خود مثل نقشه هستش و تا زمانی که شیئی از اون ساخته نشه بی استفادست نقشه ساختمون  زمانی معنای واقعی پیدا میکنه که یک ساختمون ازش ساخته بشه یعنی کلاس به خودی خود هیچی نیست.

_____________________________________________________________________

و برای دسترسی به آیتمهای لیست باکس باید از اندیساشون استفاده کنید.

کد شما در نهایت به این شکل میشه:

            int b = listBox1.Items.Count;
            Random objRandom = new Random();
            int a = objRandom.Next(b);
            listBox2.Items.Add(listBox1.Items[a]);

 

توسط (2,595 امتیاز) 5 15 90
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,920 کاربر

دسته بندی ها

...