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

نام تاپیک: نحوه استفاده از شی در فرم دیگر

  1. #1

    نحوه استفاده از شی در فرم دیگر

    سلام به دوستان و عرض تبریک سال نو
    چه طور میشه از داخل form1 مثلا به یه menuitem دسترسی داشت مثلا خاصیت enabled اونا عوض کرد

  2. #2
    به هر خاصیتی که نباز داشتی، باید اون رو تعریف و سطح دسترسی اون رو از نوع Public قرار بدی تا بتونی در شیئ دیگه هم به اون دسترسی پیدا کنی.

  3. #3
    در هر فرم برای دسترسی به کنترلهای آن یک collection بنام controls وجود داره که که بوسیله اون میتونی به کنترلهای داخل اون فرم دسترسی داشته باشی مثل:

    form2.controls["button1"]

  4. #4
    ممنون از دوستان
    من میخوام از داخل form1 مقدار خاصیت enabled مربوط به کنترل menuitem2 را که در form2 قرار دارد تغییر دهم
    اون روشی هم که جناب icmaster عرض کردند نمیشه- چون فرم اصلا این ویژگی را نداره (.net 2003(
    ممنون

  5. #5

  6. #6
    menuitem2 را تو فرم 2 به صورت static و public تعریف کن بعد از هر جایی میتونی با form2.menuitem2 به menuitem2 دسترسی داشته باشی
    تعریف متغیر به صورت Static هیچ ربطی به این سوال نداره و فقط یک اشتباه منطقی ایجاد می کنه.

    @amir_pro:
    همونطور که icmaster گفت می تونی از خاصیت Controls استفاده کنی، تا جایی که من یاده در 2003 هم وجود داشت، اما الان به IDE اون دسترسی ندارم که تست کنم. علاوه بر اون از روشی هم گفتم می تونی استفاده کنی. واضحه.

  7. #7

  8. #8
    میشه توضیح بدید که در اون صورت اگر دو نمونه از فرم ایجاد بشه، متغیر استاتیک تعریف شده کدام MenuItem رو نگهداری می کنه؟ برای نمونه اول و یا نمونه دوم؟

  9. #9

  10. #10
    کاربر دائمی آواتار سار
    تاریخ عضویت
    اسفند 1382
    محل زندگی
    تورین-ایتالیا
    پست
    1,044
    من هم موافقم نیازی به تعریف Static نیست فط کافیه Public بشه اون رو هم میشه از طریق کد درست کرد هم از طریق UI. کافیه تا آبجکتت رو انتخاب کنی و تو پنجره Properties مقدار Modifiers رو برابر با Public کنی که به طور پیش فرض Private است.

  11. #11
    من هم موافقم نیازی به تعریف Static نیست
    تعریف متغیر به صورت Static هیچ ربطی به این سوال ندارهو فقط یک اشتباه منطقی ایجاد می کنه.
    جالبه!!!!!

  12. #12
    نقل قول نوشته شده توسط bermooda مشاهده تاپیک
    خوب واسه هر کدوم یکی مجزا
    به MSDN یه نگاهی بندازید بد نیست !

    Use the static modifier to declare a static member, which belongs to the type itself rather than to a specific object.

    While an instance of a class contains a separate copy of all instance fields of the class, there is only one copy of each static field.






    البته با تمام این حرفها شما مختارید هر جوری دلتون می خواد و به هر روشی که ممکنه مشکل رو حل کنید.

    پیشنهاد می کنم همون طور دوستان گفتند یا از public استفاده کنید یا یک property برای فرم مورد نظر تعریف کنید که البته دومی بهتره ، البته وقتی اون خاصیت Controls هست (هم در 2003 و هم در 2005) دیگه چرا این همه بحث!

  13. #13
    کاربر دائمی آواتار سار
    تاریخ عضویت
    اسفند 1382
    محل زندگی
    تورین-ایتالیا
    پست
    1,044
    نقل قول نوشته شده توسط omid_Ahmadi مشاهده تاپیک
    جالبه!!!!!
    ولی چرا؟

  14. #14
    ممنون از دوستان
    همه این کارها را کردم ولی نشد- نمیتونین یه برنامه بزارید که ابن کار را انجام بده- ممنون میشم

  15. #15
    ولی چرا؟
    دوست من، متغیر استاتیک هیچ ربطی به این مسئله نداره، اون دوستمون هم که این راه حل رو ارائه داده بود، درک درستی از مفهوم استاتیک نداشت. پس این مورد که نیازی به استفاده از استاتیک نیست هم غلطه. چون استاتیک اصلا کاربرد نداره که نیازی باشه یا نه!

    همه این کارها را کردم ولی نشد- نمیتونین یه برنامه بزارید که ابن کار را انجام بده- ممنون میشم
    دو راه حل ارائه شده (استفاده از Controls و یا تعریف خاصیت به صورت Public) کاملا واضحه، اگر نمی تونید از این موارد استفاده کنید، فکر کنم بهتره مقداری در مورد ساختار زبان C#‎ مطالعه کنید. فعلا فرصت قرار دادن برنامه سمپل در این مورد برای من وجود نداره.

  16. #16
    کاربر دائمی آواتار سار
    تاریخ عضویت
    اسفند 1382
    محل زندگی
    تورین-ایتالیا
    پست
    1,044
    آهان تازه فهمیدم منظورتون چیه.
    بله حق با شماست همان طوری که گفتم، ولی باید یکم ادبیات یاد بگیرم چون جمله رو درست بیان نکردم.
    تشکر.

  17. #17
    ممنون از دوستان
    میرم دنبالش تا بالاخره درستش کنم

  18. #18
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604
    من با مفهوم استاتیک مشکلی ندارم دوستان!!
    ممنون از توضیحات کافیتون
    قبول هم دارم که روش های ارائه شده کامل هستن
    ولی من منظورم اینه که با استفاده از متغیر استاتیک هم میشه این مشکل رو حل کرد چون خودم قبلا اینکارو کردم (حالا بماند اصولی بوده یا نه )
    بازم ممنون
    موفق باشید

  19. #19
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313
    بجای این سوال بهتر بود می گفتید که می خواهید چکار کنید؟ برنامه بصورت mdi هست؟

  20. #20
    برنامه به صورت mdi نیست
    میخوام از داخل فرم1 مقدار خاصیت enabled مربوط به کنترل menuitem1 را false کنم که این منو توی فرم2 است
    ممنون

  21. #21
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313
    نقل قول نوشته شده توسط amir_pro مشاهده تاپیک
    برنامه به صورت mdi نیست
    میخوام از داخل فرم1 مقدار خاصیت enabled مربوط به کنترل menuitem1 را false کنم که این منو توی فرم2 است
    ممنون
    یعنی مثلا یکجورهایی فرم 1 parent فرم 2 هست؟

  22. #22

    Smile property

    سلام
    حالا میشه واسه رفع نیاز یه public property تعریف کرد تا بشه اونو دست زد و نیازی به public کردن کل شئ نیست. اینجوری امن تر هم هست. من همیشه اینکارو می کنم.

  23. #23
    دوستان این موضوع تا پست شماره سه به دو راه حل رسید که هر دوی اونها قابل اجرا و کاربردی بوده. مابقی پستها بی مفهوم هستن و فقط به علت درک بد موضوع به وسیله بقیه کاربران اضافه شدن.
    این دوستمون هم اگر فقط پایه و اصول استفاده از زبان C#‎ رو بلد باشن بعد از پست شماره سه می تونن به سادگی مشکلشون رو حل کنن.
    پس خواهش می کنم بحث رو بیهوده ادامه ندید.

    موفق باشید.

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

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