با سلام.
من در فرم1 دو تا دگمه دارم و میخوام وقتی دگمه1 رو زدم بعضی Textbox , combobox, Button رو فرم های 2 و3و4برام فعال و بعضی های دیگه هم غیرفعال بشه.
Printable View
با سلام.
من در فرم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