نمایش نتایج 1 تا 8 از 8

نام تاپیک: نامرتب کردن آیتم های لیست باکس

  1. #1

    Question نامرتب کردن آیتم های لیست باکس

    لیست باکسی دارم که 100 آیتم دارد. می خواهم وقتی روی باتن کلیک کردم آیتم ها بصورت نامرتب و تصادفی یعنی همان رندم نمایش داده شوند. یعنی همان 100 آیتم در لیست باکس قرار بگیرد ولی جای آیتم ها تغییر کند بصورت رندم. لطفا راهنمایی کنید. با تشکر

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: نامرتب کردن آیتم های لیست باکس

    سلام
    این پست رو نگاه کنید. روش به این صورت هست که اول یه لیست از نوع string می سازید بعد با یه حلقه تمام آیتم های لیست باکس رو در این لیست می ریزید. حالا متدی که تو این پست هست رو اجرا می کنید بعد لیست باکس را خالی میکنید و در آخر تمام آیتم هایی که توی لیست هست رو به لیست باکس اضافه می کند.

  3. #3

    نقل قول: نامرتب کردن آیتم های لیست باکس

    نقل قول نوشته شده توسط Mahmoud Zaad مشاهده تاپیک
    سلام
    این پست رو نگاه کنید. روش به این صورت هست که اول یه لیست از نوع string می سازید بعد با یه حلقه تمام آیتم های لیست باکس رو در این لیست می ریزید. حالا متدی که تو این پست هست رو اجرا می کنید بعد لیست باکس را خالی میکنید و در آخر تمام آیتم هایی که توی لیست هست رو به لیست باکس اضافه می کند.
    اینجوری نوشتم ولی خطا داد :


    public static void Shuffle<T>(this IList<T> list)
    {
    Random rng = new Random();
    int n = list.Count;
    while (n > 1)
    {
    n--;
    int k = rng.Next(n + 1);
    T value = list[k];
    list[k] = list[n];
    list[n] = value;
    }
    }

    private void BtnRandomLstOut1_Click(object sender, EventArgs e)
    {
    List<ListBox> lst = new List<ListBox>();
    for (int i = 0; i < LstOut1.Items.Count; i++)
    {
    // lst.Add(LstOut1.SelectedItem[i].ToString());
    lst.Add(LstOut1);
    }


    lst.Shuffle();


    int _number = 0;
    foreach (Button btn in lst)
    {
    btn.Text = _number.ToString();
    _number++;
    }
    }

  4. #4

    نقل قول: نامرتب کردن آیتم های لیست باکس

    این تیکه رو باید چی بنویسم ؟
                List<ListBox> lst = new List<ListBox>();            for (int i = 0; i < LstOut1.Items.Count; i++)
    {
    lst.Add(LstOut1.Items[i].ToString);
    }

  5. #5
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: نامرتب کردن آیتم های لیست باکس

    لیستی که ساختید باید از نوع string باشه چون قراره متن آیتم های لیست باکس رو توش ذخیره کنید نه خود لیست باکس رو!
    این کل کد:

    List<string> lst = new List<string>();
    for (int i = 0; i < listBox1.Items.Count; i++)
    {
    lst.Add(listBox1.Items[i].ToString());
    }
    Shuffle(lst);

    //
    listBox1.Items.Clear();
    foreach (string s in lst)
    {
    listBox1.Items.Add(s);
    }

  6. #6

    نقل قول: نامرتب کردن آیتم های لیست باکس

    نقل قول نوشته شده توسط Mahmoud Zaad مشاهده تاپیک
    لیستی که ساختید باید از نوع string باشه چون قراره متن آیتم های لیست باکس رو توش ذخیره کنید نه خود لیست باکس رو!
    این کل کد:

    List<string> lst = new List<string>();
    for (int i = 0; i < listBox1.Items.Count; i++)
    {
    lst.Add(listBox1.Items[i].ToString());
    }
    Shuffle(lst);

    //
    listBox1.Items.Clear();
    foreach (string s in lst)
    {
    listBox1.Items.Add(s);
    }
    الان خط زیر رو ارور میده. این خط چیه ؟

    Shuffle(lst);

  7. #7

    نقل قول: نامرتب کردن آیتم های لیست باکس

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

    private void BtnRandomLstOut1_Click(object sender, EventArgs e)
    {
    List<string> lst = new List<string>();
    for (int i = 0; i < LstAll.Items.Count; i++)
    {
    lst.Add(LstAll.Items[i].ToString());
    }
    MyExtensions.Shuffle(lst);


    //
    LstAll.Items.Clear();
    foreach (string s in lst)
    {
    LstAll.Items.Add(s);
    }
    }

    من الان 5 تا اسم دارم توی لیست باکس . میخواهم وقتی که روی باتن کلیک کردم جای این 5 تا اسم تغییر کند . و هر بار بر روی باتن کلیک کردم باز مجدد بصورت رندم جای آیتم ها تغییر کند.

  8. #8

    نقل قول: نامرتب کردن آیتم های لیست باکس

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


    List<string> lst = new List<string>();
    for (int i = 0; i < LstOut1.Items.Count; i++)
    {
    lst.Add(LstOut1.Items[i].ToString());
    }
    MyExtensions.Shuffle(lst); // به تابع شافل از کلاس مربوطه منتقل می کند
    LstOut1.Items.Clear();
    foreach (string s in lst)
    {
    LstOut1.Items.Add(s);
    }

تاپیک های مشابه

  1. سوال: ذخیره کردن تمام آیتم های لیست باکس در قسمتی از هارد
    نوشته شده توسط Masoud Sj در بخش برنامه نویسی در 6 VB
    پاسخ: 3
    آخرین پست: جمعه 30 آبان 1393, 13:01 عصر
  2. کار نکردن تپ کردن روی آیتم های لیست ویو
    نوشته شده توسط MMNNNM در بخش Android Studio
    پاسخ: 15
    آخرین پست: شنبه 24 اسفند 1392, 22:59 عصر
  3. اضافه کردن آیتم های لیست باکس به دیتابیس
    نوشته شده توسط نسرین2000 در بخش VB.NET
    پاسخ: 8
    آخرین پست: چهارشنبه 02 بهمن 1392, 12:51 عصر
  4. سوال: پیدا کردن یک آیتم از لیست باکس و نمایش آن در تکس باکس
    نوشته شده توسط Rain_Saeid در بخش VB.NET
    پاسخ: 5
    آخرین پست: جمعه 01 آذر 1392, 12:44 عصر
  5. سوال: چمع کردن آیتم های لیست باکس
    نوشته شده توسط Ariya nsr در بخش برنامه نویسی در 6 VB
    پاسخ: 5
    آخرین پست: شنبه 04 آبان 1392, 19:19 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •