PDA

View Full Version : سوال: فعال کردن منو در فرم دیگری



OMID_BNT
یک شنبه 12 آبان 1392, 01:04 صبح
سلام

سه تا فرم داریم که به صورت

فرم اول که به عنوان پس زمینه به کار میبرد- MdiParent
فرم دوم ، فرم لوگین - MdiChild
فرم سوم ، فرم اصلی -MdiChild

ما روی فرم پدر (فرم اول) یک منو گذاشته ایم و میخواهیم منو تا وقتی وارد فرم اصلی (فرم سوم) نشده ایم فعال نشود

تو فرم سوم چه دستوری قرار دهم - چه راه کاری پیشنهاد میکنید

در ابتدا ما در فرم اول menuStrip1 رو (Enabled) غیر فعال (false) کردیم
حال با ورود به فرم سوم میخواهیم menuStrip1 فعال بشه
با تشکر

Mahmoud.Afrad
یک شنبه 12 آبان 1392, 23:29 عصر
سوالتون بسیار تکراریه به همین دلیل کسی جواب نمیده. برای رسیدن به جواب کافیه جصتجو کنید.

در فرم اصلی یه پراپرتی یا متد برای فعالسازی منو بنویسید.

public bool EnableMenu
{
get
{
return this.menuStrip1.Enabled;
}
set
{
this.menuStrip1.Enabled = value;
}
}

نمایش فرم لاگین شبیه به کد زیر

private void ShowLoginForm()
{
this.menuStrip1.Enabled = false;

FrmLogin login = new FrmLogin();
login.MdiParent = this;
login.Show();
}

در فرم لاگین در صورتی که کاربر معتبر بود از سریق mdiparent و cast به نوع فرم اصلی میتونید به پراپرتی یا متدی که ایجاد کردید دسترسی داشته باشید.

// در صورتی که نام کاربری و رمز عبور درست بود
FrmMain main = this.MdiParent as FrmMain;
main.EnableMenu = true;
// نمایش فرم سوم