繁体   English   中英

在WinForms中的MDI父窗体中循环浏览菜单项

[英]Loop Through Menu Items in MDI Parent Form in WinForms

我需要一种方法来遍历MDI父窗体中的菜单项。

原因是因为我在激活按钮时设置背景 ,以向用户显示他们选择了哪些按钮。

下图显示了在菜单中选择System Settings的示例以及右侧所示的child form

目前,我使用直接代码实现此目的:

systemManagementToolStripMenuItem.BackColor = Color.Gray;

在此处输入图片说明

如何循环浏览,以便每次单击菜单项时都会更改所选项目的背景颜色。

只要用户执行启动循环的操作,只需将ToolStipMenuItems收集到一个List并在列表上循环即可。

// First create the list of menu items
int selectedMenuItem = 0;
List<ToolStripMenuItem> menuItems = new List<ToolStripMenuItem>();
menuItems.Add(systemManagementToolStripMenuItem);

// When the user performs some action, such as pressing down arrow
selectedMenuItem = (selectedMenuItem + 1) % menuItems.Count;
UpdateSelectedItems();

// Have some method to update the buttons
public void UpdateSelectedItems()
{
    foreach(var item in menuItems)
        item.BackColor = Color.DarkGray;
    menuItems[selectedMenuItem].BackColor = Color.Gray;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM