سلام به دوستان و عرض تبریک سال نو
چه طور میشه از داخل form1 مثلا به یه menuitem دسترسی داشت مثلا خاصیت enabled اونا عوض کرد
سلام به دوستان و عرض تبریک سال نو
چه طور میشه از داخل form1 مثلا به یه menuitem دسترسی داشت مثلا خاصیت enabled اونا عوض کرد
به هر خاصیتی که نباز داشتی، باید اون رو تعریف و سطح دسترسی اون رو از نوع Public قرار بدی تا بتونی در شیئ دیگه هم به اون دسترسی پیدا کنی.
در هر فرم برای دسترسی به کنترلهای آن یک collection بنام controls وجود داره که که بوسیله اون میتونی به کنترلهای داخل اون فرم دسترسی داشته باشی مثل:
form2.controls["button1"]
ممنون از دوستان
من میخوام از داخل form1 مقدار خاصیت enabled مربوط به کنترل menuitem2 را که در form2 قرار دارد تغییر دهم
اون روشی هم که جناب icmaster عرض کردند نمیشه- چون فرم اصلا این ویژگی را نداره (.net 2003(
ممنون
menuitem2 را تو فرم 2 به صورت static و public تعریف کن بعد از هر جایی میتونی با form2.menuitem2 به menuitem2 دسترسی داشته باشی
قفل مخفی تلگرام، واتس اپ و همه برنامه ها - قفل حرفه ای برای دستگاه اندرویدی شما - با امکان مخفی شدن و جلوگیری از Unisntall شدن
--آموزش ایجاد برنامه های چند زبانه در WPF
-BeRMOoDA File Encrypter-open source-using WPF, C# and MVVM Pattern
-نمونه برنامه ساده و کامل با الگوی MVVM برای کار با دیتابیس با استفاده از Entity Framework در WPF
-WPFMessageBox فارسی/انگلیسی - با قابلیت تغییر Skin
تعریف متغیر به صورت Static هیچ ربطی به این سوال نداره و فقط یک اشتباه منطقی ایجاد می کنه.menuitem2 را تو فرم 2 به صورت static و public تعریف کن بعد از هر جایی میتونی با form2.menuitem2 به menuitem2 دسترسی داشته باشی
@amir_pro:
همونطور که icmaster گفت می تونی از خاصیت Controls استفاده کنی، تا جایی که من یاده در 2003 هم وجود داشت، اما الان به IDE اون دسترسی ندارم که تست کنم. علاوه بر اون از روشی هم گفتم می تونی استفاده کنی. واضحه.
[QUOTE=omid_Ahmadi;321577]تعریف متغیر به صورت Static هیچ ربطی به این سوال نداره و فقط یک اشتباه منطقی ایجاد می کنه.
چرا ربطی نداره؟ و چرا اشتباه منطقی ایجاد میکنه؟
قفل مخفی تلگرام، واتس اپ و همه برنامه ها - قفل حرفه ای برای دستگاه اندرویدی شما - با امکان مخفی شدن و جلوگیری از Unisntall شدن
--آموزش ایجاد برنامه های چند زبانه در WPF
-BeRMOoDA File Encrypter-open source-using WPF, C# and MVVM Pattern
-نمونه برنامه ساده و کامل با الگوی MVVM برای کار با دیتابیس با استفاده از Entity Framework در WPF
-WPFMessageBox فارسی/انگلیسی - با قابلیت تغییر Skin
میشه توضیح بدید که در اون صورت اگر دو نمونه از فرم ایجاد بشه، متغیر استاتیک تعریف شده کدام MenuItem رو نگهداری می کنه؟ برای نمونه اول و یا نمونه دوم؟
خوب واسه هر کدوم یکی مجزا
قفل مخفی تلگرام، واتس اپ و همه برنامه ها - قفل حرفه ای برای دستگاه اندرویدی شما - با امکان مخفی شدن و جلوگیری از Unisntall شدن
--آموزش ایجاد برنامه های چند زبانه در WPF
-BeRMOoDA File Encrypter-open source-using WPF, C# and MVVM Pattern
-نمونه برنامه ساده و کامل با الگوی MVVM برای کار با دیتابیس با استفاده از Entity Framework در WPF
-WPFMessageBox فارسی/انگلیسی - با قابلیت تغییر Skin
من هم موافقم نیازی به تعریف Static نیست فط کافیه Public بشه اون رو هم میشه از طریق کد درست کرد هم از طریق UI. کافیه تا آبجکتت رو انتخاب کنی و تو پنجره Properties مقدار Modifiers رو برابر با Public کنی که به طور پیش فرض Private است.
من هم موافقم نیازی به تعریف Static نیستجالبه!!!!!تعریف متغیر به صورت Static هیچ ربطی به این سوال ندارهو فقط یک اشتباه منطقی ایجاد می کنه.
به 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) دیگه چرا این همه بحث!
ممنون از دوستان
همه این کارها را کردم ولی نشد- نمیتونین یه برنامه بزارید که ابن کار را انجام بده- ممنون میشم
دوست من، متغیر استاتیک هیچ ربطی به این مسئله نداره، اون دوستمون هم که این راه حل رو ارائه داده بود، درک درستی از مفهوم استاتیک نداشت. پس این مورد که نیازی به استفاده از استاتیک نیست هم غلطه. چون استاتیک اصلا کاربرد نداره که نیازی باشه یا نه!ولی چرا؟
دو راه حل ارائه شده (استفاده از Controls و یا تعریف خاصیت به صورت Public) کاملا واضحه، اگر نمی تونید از این موارد استفاده کنید، فکر کنم بهتره مقداری در مورد ساختار زبان C# مطالعه کنید. فعلا فرصت قرار دادن برنامه سمپل در این مورد برای من وجود نداره.همه این کارها را کردم ولی نشد- نمیتونین یه برنامه بزارید که ابن کار را انجام بده- ممنون میشم
آهان تازه فهمیدم منظورتون چیه.
بله حق با شماست همان طوری که گفتم، ولی باید یکم ادبیات یاد بگیرم چون جمله رو درست بیان نکردم.
تشکر.
ممنون از دوستان
میرم دنبالش تا بالاخره درستش کنم
من با مفهوم استاتیک مشکلی ندارم دوستان!!
ممنون از توضیحات کافیتون
قبول هم دارم که روش های ارائه شده کامل هستن
ولی من منظورم اینه که با استفاده از متغیر استاتیک هم میشه این مشکل رو حل کرد چون خودم قبلا اینکارو کردم (حالا بماند اصولی بوده یا نه )
بازم ممنون
موفق باشید
قفل مخفی تلگرام، واتس اپ و همه برنامه ها - قفل حرفه ای برای دستگاه اندرویدی شما - با امکان مخفی شدن و جلوگیری از Unisntall شدن
--آموزش ایجاد برنامه های چند زبانه در WPF
-BeRMOoDA File Encrypter-open source-using WPF, C# and MVVM Pattern
-نمونه برنامه ساده و کامل با الگوی MVVM برای کار با دیتابیس با استفاده از Entity Framework در WPF
-WPFMessageBox فارسی/انگلیسی - با قابلیت تغییر Skin
بجای این سوال بهتر بود می گفتید که می خواهید چکار کنید؟ برنامه بصورت mdi هست؟
برنامه به صورت mdi نیست
میخوام از داخل فرم1 مقدار خاصیت enabled مربوط به کنترل menuitem1 را false کنم که این منو توی فرم2 است
ممنون
سلام
حالا میشه واسه رفع نیاز یه public property تعریف کرد تا بشه اونو دست زد و نیازی به public کردن کل شئ نیست. اینجوری امن تر هم هست. من همیشه اینکارو می کنم.
دوستان این موضوع تا پست شماره سه به دو راه حل رسید که هر دوی اونها قابل اجرا و کاربردی بوده. مابقی پستها بی مفهوم هستن و فقط به علت درک بد موضوع به وسیله بقیه کاربران اضافه شدن.
این دوستمون هم اگر فقط پایه و اصول استفاده از زبان C# رو بلد باشن بعد از پست شماره سه می تونن به سادگی مشکلشون رو حل کنن.
پس خواهش می کنم بحث رو بیهوده ادامه ندید.
موفق باشید.