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

نام تاپیک: عوض کردن خاصیت کنترل ها با متد یا کلاس

  1. #1
    کاربر دائمی آواتار complexcoding
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    قزوین
    سن
    33
    پست
    744

    عوض کردن خاصیت کنترل ها با متد یا کلاس

    عوض کردن خاصیت کنترل ها با متد یا کلاس:دوستان سلام من در ساخت نرم افزارها مشکلاتی دارم که مثلا رنگ همه دکمه ها را در رویداد کلیک عوض کنم :
    button1_click
    pictureBox29.Visible =
    true;
    pictureBox28.Visible =
    true;
    pictureBox27.Visible =
    true;
    pictureBox26.Visible =
    true;
    و... رنگ ها و هزار چیزه دیگه که حجم پروژه من رو خیلی بالا می بره و در کدها سر در گم می شم نمی شه کاری کرد که با فراخوانی یک کلاس یا نوشتن یک متد دکمه های تعریف شده در آن متد به خاصیت مورد نظر تبدیل بشن یا هر چی که تو ذهن شماست ممنونم.

  2. #2
    کاربر تازه وارد آواتار chasbonakam
    تاریخ عضویت
    مهر 1389
    محل زندگی
    آمل
    پست
    76

    نقل قول: عوض کردن خاصیت کنترل ها با متد یا کلاس

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

    مثلا برای picturebox هات ارایه ای از جنس picture box ایجاد کن.

    فقط برای بار اول باید تمامی کنترل های مورد نظر رو تو ارایه بریزی و بعد می تونی با استفاده از حلقه ها مثل for روی کنترل های برنامه اعمال مدیریت کنی

  3. #3
    کاربر دائمی آواتار amir-yeketaz
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    تهران
    پست
    508

    نقل قول: عوض کردن خاصیت کنترل ها با متد یا کلاس

    راه که زیاده قربونت!!!!

    بیا این یکیش:
                foreach (Control item in this.Controls)
    {
    if (item is PictureBox)
    {
    item.Visible = false;
    }

    }

    خوب این چیکار میکنه؟
    لیست تمام کنترل های موجود در فرم رو میگیره ، بعد اگه اون کنترل از نوع pictureBox بود میادو خاصیت visible اونو false میکنه ...

    موفق باشید

  4. #4
    کاربر تازه وارد آواتار chasbonakam
    تاریخ عضویت
    مهر 1389
    محل زندگی
    آمل
    پست
    76

    نقل قول: عوض کردن خاصیت کنترل ها با متد یا کلاس

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

    کد HTML:
    PictureBox[] pic = new PictureBox[100];
     
    public void showallpicturebox()
    {
    for(i=0;i<=99;i++)
     
    pic[i].visible=true;
    }
     
    حالا هرجا خواستی می تونی متدی که نوشتی رو فراخونی کنی

  5. #5
    کاربر دائمی آواتار complexcoding
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    قزوین
    سن
    33
    پست
    744

    نقل قول: عوض کردن خاصیت کنترل ها با متد یا کلاس

    دوستان واقعا ممنونم ولی اگر بخواییم picturebox ها رو مدیریت کنیم چی؟
    مثلا یه متد که فقط picturebox های 2 تا 6 با یک دکمه true و picturebox های 8 و 9 و 88 با یک دکمه true ؟
    ببینید این درسته؟

    کد HTML:
    PictureBox[] pic = new PictureBox[4];
    pic[0]=PictureBox12
    pic[1]=PictureBox8
    pic[2]=PictureBox22
    pic[3]=PictureBox3
    pic[4]=PictureBox4
    public void showallpicturebox()
    {
    for(i=0;i<=4;i++)
     
    pic[i].visible=true;
    }
    بعد این متد رو حتما باید تو کلاس بنویسیم؟یه توضیح هم درباره این بدید .(از دوستان حرفه ای در سی شارپ تقاضا می شود آی دی yahoo مرا add کنند tooraj.jeegar)

    مثلا نگاه کنید این فضای Class1 من هست که از گزینه add item در نوار ابزار آوردم add Class رو فشار دادم:
    کد HTML:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    namespace Game_Picture
    {
    class Class1
    {
    }
    }
    حالا وقتی توش نوشتیم در فضای نام پروژه اصلی چی بیاریم؟
    اینجوری در رویداد کلیک مورد نظر ازش استفاده کنیم؟
    کد HTML:
    pic.showallpicturebox()
    لازم نیست بگید خودم می دونم چقدر داغونم
    آخرین ویرایش به وسیله complexcoding : پنج شنبه 09 دی 1389 در 03:32 صبح

  6. #6
    کاربر دائمی آواتار flash118
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    بسته های شبکه
    پست
    466

    نقل قول: عوض کردن خاصیت کنترل ها با متد یا کلاس

    دوست عزیز با سلام
    اول بگم خدمتتون سعی کنید در برنامه تون اصول شی گرایی را رعایت کنید دوم شما خیلی سخت میگیری راه های زیادی هست البته راه پویا که هست دوستمون براتون گفتن استفاده از foreach هست
    دوست عزیز برای این که موضوع و راه رو سریع و بهینه برید من آدرس رفرنس اصلی گذاشتم تقریبا اونایی که میخواهی رو اونجا هست امیدوارم موفق باشی در ضمن اگه بازم به مشکلی برخوردی و نتیجه نگرفتی با کد خدمتتون عرض میکنم شاد باشید
    لینک:http://social.msdn.microsoft.com/Sea...ox%20c%23&ac=1

  7. #7
    کاربر تازه وارد آواتار chasbonakam
    تاریخ عضویت
    مهر 1389
    محل زندگی
    آمل
    پست
    76

    نقل قول: عوض کردن خاصیت کنترل ها با متد یا کلاس

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

    متد ها رو تو همون فرم بنویس

  8. #8
    کاربر دائمی آواتار complexcoding
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    قزوین
    سن
    33
    پست
    744

    نقل قول: عوض کردن خاصیت کنترل ها با متد یا کلاس

    دوستان هیچکس نگفت این درسته یا نه؟
    کد HTML:
    PictureBox[] pic = new PictureBox[4];
    pic[0]=PictureBox12
    pic[1]=PictureBox8
    pic[2]=PictureBox22
    pic[3]=PictureBox3
    pic[4]=PictureBox4
    public void showallpicturebox()
    {
    for(i=0;i<=4;i++)
    
    pic[i].visible=true;
    }

  9. #9
    کاربر دائمی آواتار amir-yeketaz
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    تهران
    پست
    508

    نقل قول: عوض کردن خاصیت کنترل ها با متد یا کلاس

    نقل قول نوشته شده توسط 09359779232 مشاهده تاپیک
    دوستان هیچکس نگفت این درسته یا نه؟
    کد HTML:
    PictureBox[] pic = new PictureBox[4];
    pic[0]=PictureBox12
    pic[1]=PictureBox8
    pic[2]=PictureBox22
    pic[3]=PictureBox3
    pic[4]=PictureBox4
    public void showallpicturebox()
    {
    for(i=0;i<=4;i++)
    
    pic[i].visible=true;
    }
    یعنی چی درسه؟!!
    الان این 5 تا پیکچرباکس موجود در فرم رو خاصیت visible شون رو true میکنه ... اگرم متوجه نمیشین که چجوری این امکان به وجود میاد ، باید بگم که از اونجایی که کلاس ها (مثه همین PictureBox) از نوع Reference Type هستن این حالت به وجود میاد ...

  10. #10
    کاربر دائمی آواتار complexcoding
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    قزوین
    سن
    33
    پست
    744

    نقل قول: عوض کردن خاصیت کنترل ها با متد یا کلاس

    سلام دوستان من خواص این pictureboxها رو با آرایه ای که در پست بالا درستیش تایید شد نوشتم ولی کجای کدهای کلاس فرم اصلیم بنویسم تا بتونم ازش استفاده کنم هر جا می نویسم پیغام خطا میده؟

  11. #11
    کاربر دائمی آواتار complexcoding
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    قزوین
    سن
    33
    پست
    744

    نقل قول: عوض کردن خاصیت کنترل ها با متد یا کلاس

    احتیاج فوری لطف کنید جواب بدید؟؟؟؟؟؟

  12. #12
    کاربر دائمی آواتار amir-yeketaz
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    تهران
    پست
    508

    نقل قول: عوض کردن خاصیت کنترل ها با متد یا کلاس

    نقل قول نوشته شده توسط 09359779232 مشاهده تاپیک
    سلام دوستان من خواص این pictureboxها رو با آرایه ای که در پست بالا درستیش تایید شد نوشتم ولی کجای کدهای کلاس فرم اصلیم بنویسم تا بتونم ازش استفاده کنم هر جا می نویسم پیغام خطا میده؟
    خط اولو بذارین به عنوان یه فیلد از کلاستون ... بقیشم دیگه بستگی به زمانی که می خواین فراخونی بشه باید تو یه متد باشه!!!!!!

  13. #13
    کاربر دائمی آواتار complexcoding
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    قزوین
    سن
    33
    پست
    744

    نقل قول: عوض کردن خاصیت کنترل ها با متد یا کلاس

    برادر من نمی تونم
    ببین من چیکار کردم (فضای Class1 من هست که از گزینه add item در نوار ابزار آوردم add Class رو فشار دادم)
    بعد داخلش
    کد HTML:
    //PictureBox[] pic = new PictureBox[4];
    //pic[0]=PictureBox12
    //pic[1]=PictureBox8
    //pic[2]=PictureBox22
    //pic[3]=PictureBox3
    //pic[4]=PictureBox4
    //public void showallpicturebox()
    //{
    //for(i=0;i<=99;i++)
    
    //pic[i].visible=true;
    //}
    نوشتم error داد اومدم خط اولش رو نوشتم بعد تو فرم اصلی تو using رفتم نوشتم using class1.pic بازم error داد!!!؟؟

  14. #14
    کاربر دائمی آواتار amir-yeketaz
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    تهران
    پست
    508

    نقل قول: عوض کردن خاصیت کنترل ها با متد یا کلاس

    من که درست متوجه نمیشم چیکار کردین!!!!
    اگه برنامه ی این کاری که میخواین بکنینو برام بفرستین شاید بتونم براتون درسش کنم!

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

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