我需要一种方法来遍历 MDI父表单中的菜单项。
之所以如此,是因为我在激活时设置按钮的背景,以向用户显示他们有哪些已选择
下面的图片说明了在菜单中选择System Settings
并在右侧显示child form
的示例。
目前,我使用直接代码实现了这一目标:
systemManagementToolStripMenuItem.BackColor = Color.Gray;
如何循环播放,以便每次单击菜单项时,它都会更改所选项目的背景颜色。
答案 0 :(得分:1)
只需将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;
}