PDA

View Full Version : بدست آوردن نام منو و زیر منو ها در فرم



davoodrm666_666
چهارشنبه 10 مهر 1387, 19:11 عصر
سلام

من توی یک پروژه نیاز دارم که نام منو و زیر منو های یک فرم رو بدست بیارم
چطور می شه این کار رو کرد

AJL110ALI
پنج شنبه 11 مهر 1387, 10:29 صبح
فرم برنامه خودتون يا برنامه ديگه اي؟

davoodrm666_666
چهارشنبه 24 مهر 1387, 10:14 صبح
فرم برنامه خودم

HamidNazari
جمعه 26 مهر 1387, 21:51 عصر
من یه پروژه نمونه براتون درست کردم که پیوست می​کنم .
یه قسمتی از کد فرم رو هم می​ذارم اینجا .

البته این رو هم بگم که برای نمایش این اسامی از یه ListBox به نام lstMain استفاده کردم .



private void btnGahterInfo_Click(object sender, EventArgs e)
{
lstMain.Items.Clear();

foreach (Control control in Controls)
if (control.GetType() == typeof(MenuStrip))
{
lstMain.Items.Add(control.Name);

foreach (ToolStripItem item in ((MenuStrip)control).Items)
{
lstMain.Items.Add(item.Name);

if (IsToolStripMenuItem(item))
GetChilds((ToolStripMenuItem)item);
}
}
}

private void GetChilds(ToolStripMenuItem menuItem)
{
if (menuItem.DropDownItems.Count > 0)
foreach (ToolStripItem itmToolStrip in menuItem.DropDownItems)
{
lstMain.Items.Add(itmToolStrip.Name);

if (IsToolStripMenuItem(itmToolStrip))
GetChilds((ToolStripMenuItem)itmToolStrip);
}
}

private bool IsToolStripMenuItem(ToolStripItem itmToolStrip)
{
return (itmToolStrip.GetType() == typeof(ToolStripMenuItem));
}
دوستان اگه راه حل بهتری سراغ دارن ، خوشحال میشم بدونم .

davoodrm666_666
شنبه 27 مهر 1387, 09:48 صبح
دوست عزیز ممنون از راهنماییت اما متاسفانه من سی# بلد نیستم و vb.net کار می کنم
البته به کمک کد شما تونستم به vb.net تبدیل کنم و کارم راه افتاد.