با سلام.
من در فرم1 دو تا دگمه دارم و میخوام وقتی دگمه1 رو زدم بعضی Textbox , combobox, Button رو فرم های 2 و3و4برام فعال و بعضی های دیگه هم غیرفعال بشه.
با سلام.
من در فرم1 دو تا دگمه دارم و میخوام وقتی دگمه1 رو زدم بعضی Textbox , combobox, Button رو فرم های 2 و3و4برام فعال و بعضی های دیگه هم غیرفعال بشه.
سلام.
تمامی کنترل ها یک خاصیت دارن به نام Modifiers . برای هر کنترل که میخوای خاصیت های اون رو در فرم های دیگه کنترل کنی در حالت Public قرار میدی.
مثلا شما چندتا کنترل در فرم 2 داری و میخوای در فرم 1 حالت های اون را تغییر بدی.
توی فرم 2 میری و اون کنترل ها رو در حالت Public میذاری.
بعد توی فرم1 اینجوری کد مینویسی:
Form2.textbox1.enable=true
با سلام.
روش دوستمون com_eng_abasszadeh عملی هست ولی اصولی نیست.
کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»
راه اینه در فرم 1 یه شی از فرم دو صدا بزنی و از این طریق دستیابی پیدا کنی به کنترل های فرم 2 و enable آنهارا غیر فعال کنی!!
سلام
توقسمت program.cs متغیرهایی از نوع bool تعریف کن و در زمانهای مورد نیاز مقادیر آنها رو تغییر بده و در زمان لود فرم ها این مقدارها رو چک کن. به این شکل در اونجا تعریف کن "فقط رنگ قرمز":
حالا مثلا از فرم 1 میخوایم برم به فرم 2 و میخواهیم که لیبل 1 فعال یا غیر فعال باشه:
public static bool boolUserLevel = false;
[STAThread]
// static void Main()
// {
// Application.EnableVisualStyles();
// Application.SetCompatibleTextRenderingDefault(fals e);
// Application.Run(new fmain ());
// }
به این صورت کد رو در لود فرم 2 قرار میدیم:
موفق باشید
label1.Enabled = Program.boolUserLevel;
علی پاییزی
به هیچ عنوان اصولی نیست.درباره Encapsulation مطالعه کنید
در این مورد زیاد بحث شده.نمونه اون مقاله ای هست که جناب کیانی درباره Objects Relationنوشته اند.
https://barnamenevis.org/attach...8&d=1200233621
Close your eyes, take a deep breath, click your heels three times, and say, "There's no better thing than Inversion of Control and Dependency Injection, generic specialization, the decorator pattern, chains of responsibilities, and extensible software."