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

نام تاپیک: تابع رندوم برای نمایش تصادفی عکس بک گراند پنل ها

  1. #1
    کاربر دائمی آواتار bahar_engineer
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    657

    تابع رندوم برای نمایش تصادفی عکس بک گراند پنل ها

    سلام

    من در پروژه 12 پنل دارم که تکه های یک پازل هستند. چطور اونا رو رندوم نمایش بدم ؟؟؟

    با استفاده از ()random تابع می خوام هر بار عکس بک گراند پنل ها بصورت تصادفی عوض بشه...

    یه راهنمایی بکنین ممنون می شم

  2. #2
    کاربر دائمی آواتار esmaeily-hosein
    تاریخ عضویت
    مهر 1385
    محل زندگی
    شهر دودها
    پست
    227

    نقل قول: تابع رندوم برای نمایش تصادفی عکس بک گراند پنل ها

                Random random= new Random();
    panel1.BackgroundImage=Image.FromFile( string.Format("C:\\Pic\\{0}.Png",random.Next(1, 12)));

  3. #3
    کاربر دائمی آواتار bahar_engineer
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    657

    نقل قول: تابع رندوم برای نمایش تصادفی عکس بک گراند پنل ها

    ممنون

    حالا من 12 پنل دارم با 12 عکس بک گراند ...

    چکارش کنم که عکس های تصادفی که می ده تکراری نباشن ؟؟

  4. #4
    کاربر دائمی آواتار esmaeily-hosein
    تاریخ عضویت
    مهر 1385
    محل زندگی
    شهر دودها
    پست
    227

    نقل قول: تابع رندوم برای نمایش تصادفی عکس بک گراند پنل ها


    void Main()

    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < 12; i++)
    {

    sb.AppendFormat("{0},",GetRandomNumber());
    }
    MessageBox.Show(sb.ToString());
    }

    List<int> list = new List<int>();
    Random random = new Random();
    private int GetRandomNumber()
    {
    int iRandom = random.Next(1, 13);
    if (!list.Contains(iRandom))
    {
    list.Add(iRandom);
    return iRandom;
    }
    return GetRandomNumber();
    }

  5. #5
    کاربر دائمی آواتار bahar_engineer
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    657

    نقل قول: تابع رندوم برای نمایش تصادفی عکس بک گراند پنل ها


    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < 12; i++)
    {

    sb.AppendFormat("{0},", GetRandomNumber());
    }
    MessageBox.Show(sb.ToString());


    این قسمت رو توی main از کلاس program پروژه نوشتم و بقیه رو توی فرمی که پازل رو دارم...

    اما می گه GetRandomNumber() وجود نداره ...

    همه رو هم که توی void main می نویسم بازم ایراد می گیره از آرایه و ...

    چطور کدها رو قرار بدم؟

  6. #6
    کاربر دائمی آواتار esmaeily-hosein
    تاریخ عضویت
    مهر 1385
    محل زندگی
    شهر دودها
    پست
    227

    نقل قول: تابع رندوم برای نمایش تصادفی عکس بک گراند پنل ها

    با با استفاده از linq
    IEnumerable<int> numbers= Enumerable.Range(1, 12) ;
    int[] randomNumbers = (from n in numbers
    orderby Guid.NewGuid()
    select n).ToArray();

  7. #7
    کاربر دائمی آواتار esmaeily-hosein
    تاریخ عضویت
    مهر 1385
    محل زندگی
    شهر دودها
    پست
    227

    نقل قول: تابع رندوم برای نمایش تصادفی عکس بک گراند پنل ها

    اون مثال بود تو Ctor مربوط به form بنویس
    من راه دوم بیشتر توصیه میکنم .

  8. #8
    کاربر دائمی آواتار bahar_engineer
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    657

    نقل قول: تابع رندوم برای نمایش تصادفی عکس بک گراند پنل ها

    وقتی همه اش رو توی فرم پازل می یارم این کدها رو توی رویداد کلیک button گذاشتم اما خطای stack overflow می ده


    //StringBuilder sb = new StringBuilder();
    for (int i = 0; i < 13; i++)
    {

    // sb.AppendFormat("{0},", GetRandomNumber());
    panel1.BackgroundImage = Image.FromFile(string.Format(".\\puzzle pic\\cd1\\p1\\p1_{0}.jpg", GetRandomNumber()));
    panel2.BackgroundImage = Image.FromFile(string.Format(".\\puzzle pic\\cd1\\p1\\p1_{0}.jpg", GetRandomNumber()));
    panel3.BackgroundImage = Image.FromFile(string.Format(".\\puzzle pic\\cd1\\p1\\p1_{0}.jpg", GetRandomNumber()));
    panel4.BackgroundImage = Image.FromFile(string.Format(".\\puzzle pic\\cd1\\p1\\p1_{0}.jpg", GetRandomNumber()));
    panel5.BackgroundImage = Image.FromFile(string.Format(".\\puzzle pic\\cd1\\p1\\p1_{0}.jpg", GetRandomNumber()));
    panel6.BackgroundImage = Image.FromFile(string.Format(".\\puzzle pic\\cd1\\p1\\p1_{0}.jpg", GetRandomNumber()));
    panel7.BackgroundImage = Image.FromFile(string.Format(".\\puzzle pic\\cd1\\p1\\p1_{0}.jpg", GetRandomNumber()));
    panel8.BackgroundImage = Image.FromFile(string.Format(".\\puzzle pic\\cd1\\p1\\p1_{0}.jpg", GetRandomNumber()));
    panel9.BackgroundImage = Image.FromFile(string.Format(".\\puzzle pic\\cd1\\p1\\p1_{0}.jpg", GetRandomNumber()));
    panel10.BackgroundImage = Image.FromFile(string.Format(".\\puzzle pic\\cd1\\p1\\p1_{0}.jpg", GetRandomNumber()));
    panel11.BackgroundImage = Image.FromFile(string.Format(".\\puzzle pic\\cd1\\p1\\p1_{0}.jpg", GetRandomNumber()));
    panel12.BackgroundImage = Image.FromFile(string.Format(".\\puzzle pic\\cd1\\p1\\p1_{0}.jpg", GetRandomNumber()));

    }
    MessageBox.Show(sb.ToString());
    مشکل از کجاست؟

    از این خط از تابع GetRandomNumber() ایراد می گیره


    int iRandom = random.Next(1, 12);

  9. #9
    کاربر دائمی آواتار bahar_engineer
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    657

    نقل قول: تابع رندوم برای نمایش تصادفی عکس بک گراند پنل ها

    من با linq کار نکردم ...

  10. #10
    کاربر دائمی آواتار esmaeily-hosein
    تاریخ عضویت
    مهر 1385
    محل زندگی
    شهر دودها
    پست
    227

    نقل قول: تابع رندوم برای نمایش تصادفی عکس بک گراند پنل ها

    روش دیگر :
    System.Random random = new System.Random();

    int[] randomNumbers = (from r in Enumerable.Range(1, 12)
    let iRandom = random.Next()
    orderby iRandom
    select r).ToArray();


    خوب معلومه دیگه for نمیخواد .

  11. #11
    کاربر دائمی آواتار bahar_engineer
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    657

    نقل قول: تابع رندوم برای نمایش تصادفی عکس بک گراند پنل ها

    توی کدهای من کجا باید اینو بذارم؟؟؟


    panel1.BackgroundImage = Image.FromFile(string.Format(".\\puzzle pic\\cd1\\p1\\p1_{0}.jpg", ???????????????????????????????));


    در ضمن فضای نام using system.linq باید بذارم ؟؟؟؟ چرا قبول نمی کنه ؟

    شرمنده !!! خیلی دارم وقتتونو می گیرم

  12. #12
    کاربر دائمی آواتار esmaeily-hosein
    تاریخ عضویت
    مهر 1385
    محل زندگی
    شهر دودها
    پست
    227

    نقل قول: تابع رندوم برای نمایش تصادفی عکس بک گراند پنل ها

    اصلاح method :
    private int GetRandomNumber()
    {
    int iRandom = random.Next(1, 13);
    if (!list.Contains(iRandom))
    {
    list.Add(iRandom);
    return iRandom;
    }
    else if (list.Count != 12)
    {
    return GetRandomNumber();
    }
    return -1;
    }

    نمیدونم تو شروع بازی یا Ctor . اصلا هر جا خودت میپسندی!
    فقط برای دریافت دوباره حتما لیست خالی کن . در .net 2 نمیتونی به linq دسترسی داشته باشی نسخه framework عوض کن .

  13. #13
    کاربر دائمی آواتار bahar_engineer
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    657

    نقل قول: تابع رندوم برای نمایش تصادفی عکس بک گراند پنل ها

    درست شد خیلی لطف کردین

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

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