PDA

View Full Version : سوال: نحوه انتخاب و لیست کردن منوهای موجود در menustrip



Mahdad999
دوشنبه 13 آذر 1396, 12:00 عصر
با سلام
چطور میتونم مثلا tag منو های موجود در یک منو استریپ رو بخونم؟
از کد

foreach(control c in this.controls


استفاده میکنم ولی فقط کنترل های اصلی فرم رو نشون میده، و به منو های موجود در menustrip دسترسی نداره

ProfessorTJ
دوشنبه 13 آذر 1396, 19:44 عصر
درود, شما برا اینکاز میتونید یه حلقه foreach بسازید که آیتم های menustrip رو دور بزنه:


foreach(var item in menuStrip1.Items)
{
}

البته نا گفته نمونه این حلقه فقط آیتم های اصلی رو نشون میده برا دیدن آیتم های فرعی میتونید از
menuStrip.GetItemAt(x, y);
استفاده کنید.

danialafshari
دوشنبه 13 آذر 1396, 21:58 عصر
با سلام

private void button1_Click(object sender, EventArgs e)
{
List<ToolStripMenuItem> allItems = new List<ToolStripMenuItem>();
foreach (ToolStripMenuItem toolItem in menuStrip1.Items)
{
allItems.Add(toolItem);
allItems.AddRange(GetItems(toolItem));
var result = allItems.Distinct();
foreach (var item in result)
{
MessageBox.Show(item.ToString());
}
}
}