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

نام تاپیک: ایحاد اشیا با یک نام مشخص

  1. #1

    Smile ایحاد اشیا با یک نام مشخص

    سلام
    من یه سوالی در موردNET.#C داشتم:
    می خواستم بدونم اگه بخواهم 100 کامند را به صورت یک نام مشخص و با صد تا ایندکس از 0 تا 100 باشه باید چه خاصیتی رو تنظیم کنم که باعث بشه به صورت ایندکسی در بیاید.
    با تشکر
    به طور ساده ایجاد چند شی مثل 100 تا دکمه با یک نام مشترک چگونه است.

  2. #2

  3. #3
    چطوری با آرایه؟

  4. #4
    کاربر دائمی آواتار Behrooz_CS
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    41
    پست
    168

    Button[] btn = new Button[100];

    // Sample using
    btn[0].Text = " Any";
    .
    .
    .


  5. #5
    کاربر دائمی آواتار سار
    تاریخ عضویت
    اسفند 1382
    محل زندگی
    تورین-ایتالیا
    پست
    1,044
    یک کلاس برای کارمندانت حتمن داری، میتونی یک لیست از روی اون کلاست ایجاد کنی.

  6. #6
    آقا بهروز من دقیقا یه چیزی مثل همین کدی که شمل نوشتی می خواستم
    اما برای دکمه های معمولی به شکل زیر کار میکنه
    Button btn=Button();
    Controls.Add(btn);
    btn.Left=2;
    اما برای ایجاد آرایه ای از دکمه ها به شکل زیر کار نمی کنه!
    Button[] btn = new Button[3];
    Controls.Add(btn[2]);
    btn[2].Left=2;

  7. #7
    کاربر دائمی آواتار Behrooz_CS
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    41
    پست
    168
    کدی که من گذاشتم یک ایراد کوچیک داره که الان رفع کردم :

    Button[] btn = new Button[100];

    // Sample using
    for(int i=0 ; i<100 ; i++)
    {
    btn[i] = new Button();
    btn[i].Text = " Any";
    btn[i].Name = "btn" + i.ToString();
    this.Controls.Add(btn[i]);
    }

  8. #8
    کاربر دائمی آواتار RED-C0DE
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    31 4E 20 20 54 48 33 20 20 28 72 59 70 54 30 47 33 4E 31 28 20 20 5C 2F 30 52 31 7C 7C 29 20 20 7C 2
    پست
    551
    سلام بچه ها... راجع به همین قضیه من هم یه مشکلی دارم:
    یه بازی TicTac (سرویس قطار 5 تایی) که نوشتمش (یک نفره با کامپیوتر، کامپیوتر با کامپیوتر، 2 نفره) اما فقط یه چیز درست نشد....من از یک آرایه 2 بعدی استفاده می کنم با 13 تا خونه.. و هر خونه هم یک Label هست.. => یعنی 169 تا Label..
    حالا مشکل اینجاست که چون تعداد این Label ها زیاده، موقع نمایش اذیت می کنن. مثلا وقتی برنامه داره اجرا می شه و من صفحه دیگه ای رو (مثلا MyComputer) رو انتخاب کنم و برنامه ام، بره پشت MyComputer، و بعدش بخوام دوباره اونو انتخاب کنم، نمایش Label ها طول می کشه.
    امیدوارم منظورم رو فهمیده باشین و ممنون می شم راهنماییم کنین...
    اگه این عکس رو ببینین متوجه می شین که Label ها وقتی می خوان Paint بشن خیلی طول می کشه...


  9. #9

  10. #10
    کاربر دائمی آواتار RED-C0DE
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    31 4E 20 20 54 48 33 20 20 28 72 59 70 54 30 47 33 4E 31 28 20 20 5C 2F 30 52 31 7C 7C 29 20 20 7C 2
    پست
    551
    نقل قول نوشته شده توسط bermooda مشاهده تاپیک
    به جای label از اشیای گرافیکی استفاده کن خوب!
    منظورت کدوم اشیا است؟
    با PictureBox هم به همین مشکل بر می خورم!

  11. #11
    کاربر دائمی آواتار ali_kolahdoozan
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    اون سر دنیا
    پست
    1,631
    من اشیایی گرافیکی منظورشون ساخت آنها با دستورات گرافیکی است مثلا از مربع استفاده کنید البته بعد مدیریت حرکاتش سخت میشه

  12. #12
    کاربر دائمی آواتار Behrooz_CS
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    41
    پست
    168
    اگر توی حالت DEBUG کامپایل می کنی ، این کار رو نکن !
    با Ctrl + F5 کامپایل کن
    با حتی در مد Release با Ctrl + F5 این کار را انجام بده ؛ در این مد کدت بهینه می شه و سریعتر اجرا می شه

  13. #13
    کاربر دائمی آواتار RED-C0DE
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    31 4E 20 20 54 48 33 20 20 28 72 59 70 54 30 47 33 4E 31 28 20 20 5C 2F 30 52 31 7C 7C 29 20 20 7C 2
    پست
    551
    نقل قول نوشته شده توسط Behrooz_CS مشاهده تاپیک
    اگر توی حالت DEBUG کامپایل می کنی ، این کار رو نکن !
    با Ctrl + F5 کامپایل کن
    با حتی در مد Release با Ctrl + F5 این کار را انجام بده ؛ در این مد کدت بهینه می شه و سریعتر اجرا می شه
    خوب، همینطور که خودت می گی ali جان، مدیریتشون (مثلا بکاگیری بعضی رویدادها) واقعا مشکل و در بعضی موارد غیر ممکن می شه...

    Behoorz جان، تمام این حالتهایی که گفتی فرقی به حال اون قضیه نمی کنه. و البته فکر کنم ربطی هم به این مسئله نداشته باشه..
    باز هم ممنون از کمکتون..
    اگه راه دیگه ای به نظرتون می رسه لطفا بگین..

    ممنون می شم.
    در ضمن بازی رو هم تو سایت گذاشتم ..اگه مایل بودید دریافتش کنید...هوش مصنوعی کامپیوتر هم قابل قبوله :
    https://barnamenevis.org/showthread.php?t=60464

  14. #14
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    کرمان-کرمان
    پست
    334
    سلام
    یک سوال چطور می شه ایونت براشون تعریف کرد
    این کد ایراد می گیره
    btn[i].Click += new System.EventHandler(btn[i]_Click
    تشکر

  15. #15
    نقل قول نوشته شده توسط ali_kolahdoozan مشاهده تاپیک
    من اشیایی گرافیکی منظورشون ساخت آنها با دستورات گرافیکی است مثلا از مربع استفاده کنید البته بعد مدیریت حرکاتش سخت میشه
    نقل قول نوشته شده توسط RED-C0DE مشاهده تاپیک
    خوب، همینطور که خودت می گی ali جان، مدیریتشون (مثلا بکاگیری بعضی رویدادها) واقعا مشکل و در بعضی موارد غیر ممکن می شه...
    اگه طراحی کلاس اشیاء گرافیکی رو صحیح انجام بدید (مثلا داشتن خاصیت position یا متود Move و ...) کار کردن با اشیا گرافیکی میتونه از کار کردن با کنترلها هم خیلی راحتتر باشه (به شرط اینکه خوب اون رو encapsulate کنید)

    برای مثال در بازی MineSweeper در نگاه اول ممکنه بنظر برسه که یک ماتریس از دکمه ها است در حالیکه فقط از یک تصویر پشت زمینه شطرنجی استفاده شده و سایر کارها با دستکاری گرافیکی انجام میشه.
    ...مرا به خانه ام ببر، اگرچه خانه؛ خانه نیست

  16. #16
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    کرمان-کرمان
    پست
    334
    سلام
    تشکر
    سوالم رو جور دیگه مطرح می کنم
    من کاری با باتم ها نداشتم
    فقط خواستم سوالم رو زیاد توضیح ندم
    من آرایه ای از پیکچر باکس ساختم و
    خواستم رو همه اونها ایونت Click رو فعال کنم که بتونم تو برنامه ازش استفاده کنم
    اما این کد رو قسمت اندیس آرایه (داخل پرانتز ) ایرور می دهد
    btn[i].Click += new System.EventHandler(btn[i]_Click)


    چه باید کرد ؟

  17. #17
    نقل قول نوشته شده توسط smt_414 مشاهده تاپیک
    سلام
    تشکر
    سوالم رو جور دیگه مطرح می کنم
    من کاری با باتم ها نداشتم
    فقط خواستم سوالم رو زیاد توضیح ندم
    من آرایه ای از پیکچر باکس ساختم و
    خواستم رو همه اونها ایونت Click رو فعال کنم که بتونم تو برنامه ازش استفاده کنم
    اما این کد رو قسمت اندیس آرایه (داخل پرانتز ) ایرور می دهد
    btn[i].Click += new System.EventHandler(btn[i]_Click)


    چه باید کرد ؟
    سلام
    ابتدایی ترین نکته در سی شارپ :
    شناسه ها حتما با حروف یا با underscore یعنی علامت (_) که به غلط underline هم تلفظ می کنن، میتونه شروع بشه و در ادامه هم میتونه سامل اعداد باشه
    خطای شما مربوط به استفاده کاراکتر کروشه در اسم متد مربوط به هندل رویداد کلیک دکمه ها هست نه اندیس !!!!



    buttons[i].Click += new EventHandler(buttons_Click);






    void buttons_Click(object sender, EventArgs e)
    {
    // code for handle Buttons
    }



    در ضمن این مسئله بار ها و بارها مطرح شده و جواب داده شده
    فقط فرقش اینه که یه بار برای Label ها، یه بار برای Textbox ها.این بار هم برای Button ها و دفعه بعد هم احتمالا برای .....

  18. #18
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    کرمان-کرمان
    پست
    334
    سلام
    دوست عزیز تشکر
    حرف شما کاملا صحیح
    شما اینطور در نظر بگیر ما 5 تا پیکچر باکس داریم با این شیوه برای همه اونا ایونت تعریف کردیم
    حالا بر فرض بخواهیم ایونت مربوط به پیکچر باکس 3 رو اجرا کنیم
    خب چه کنیم همه اونا ایونت دارن ولی همه به یه اسم
    چطور بهش بفهمونیم با کدومشون کار داریم؟؟؟

  19. #19
    نقل قول نوشته شده توسط smt_414 مشاهده تاپیک
    سلام
    دوست عزیز تشکر
    حرف شما کاملا صحیح
    شما اینطور در نظر بگیر ما 5 تا پیکچر باکس داریم با این شیوه برای همه اونا ایونت تعریف کردیم
    حالا بر فرض بخواهیم ایونت مربوط به پیکچر باکس 3 رو اجرا کنیم
    خب چه کنیم همه اونا ایونت دارن ولی همه به یه اسم
    چطور بهش بفهمونیم با کدومشون کار داریم؟؟؟
    به این دلیل که بی احترامی بهتون نشه جواب میدم چون این مسئله هم بار ها و بار ها مطرح شده اگه یکمی زحمت جستجو به خودتون را بدین اینقدر نه خودتون را و نه بقیه دوستان را .... نمی کنید

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

    کد 1


    Button senderButton = sender as Button;


    کد 2


    Button senderButton = (Button)sender;



    این کد ها را باید در رویداد کلیک Button بنویسید (البته یکی از این کد ها را)
    senderbutton همون Button ای هست که فشرده شده

    plzzzzzzzzzz searchhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh before type any word!!!!!!!!!!!!!!!!!!!!

  20. #20
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    کرمان-کرمان
    پست
    334
    سلام

    واقعا لطف کردید
    این کد منه
    ببینید
      picbox[j].Click += new System.EventHandler(picbox_Click);
    private void picbox_Click(object sender, EventArgs e)
    {
    PictureBox senderpicbox = (PictureBox)sender;
    }



    حالا از این senderpicbox چطور باید مشخص کرد که کدام پیکچرباکس است با کانورت کردنش هم چیزی در نیومد
    لطف کنید بیشتر توضیح بدید
    آخرین ویرایش به وسیله smt_414 : پنج شنبه 23 آبان 1387 در 15:09 عصر

  21. #21

  22. #22
    نقل قول نوشته شده توسط smt_414 مشاهده تاپیک
    سلام

    واقعا لطف کردید

    این کد منه
    ببینید
      picbox[j].Click += new System.EventHandler(picbox_Click);
    private void picbox_Click(object sender, EventArgs e)
    {
    PictureBox senderpicbox = (PictureBox)sender;
    }



    حالا از این senderpicbox چطور باید مشخص کرد که کدام پیکچرباکس است با کانورت کردنش هم چیزی در نیومد
    لطف کنید بیشتر توضیح بدید
    دوست عزیز senderpicbox همون picturebox ای هست که روش کلیک شده. با senderpicbox می تونید به تمامی خواص اون picturebox ای که روش کلیک شده را داشته باشین
    خواصی مثل Name و ....
    نمونه برنامه را می فرستم نگاه کنید
    برای button ها نوشتم ولی هیچ فرقی نمیکنه..شما می تونید اونو برای picturebox ها بنویسید
    در این برنامه با کلیک بر روی هر button خواص اون را مشاهده می کنید
    فایل های ضمیمه فایل های ضمیمه

    مجموعه آموزشی Asp.Net Core Mvc کاملا به زبان فارسی(21 ماژول و 15 ساعت فیلم آموزشی همراه با سورس کامل تمرینات و پروژه عملی انجام شده در طول آموزشی)
    مشاهده جزئیات در آدرس http://www.mkiani.ir/blog/content/53084


    وب سایت : http://www.mkiani.ir
    پست الکترونیک : mkiani3000@gmail.com

    موفق و پیروز باشید.
    مهدی کیانی


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

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