在现有的之上添加 menustripitems

Adding menustripitems on top of existing ones

在我的简单 WinForm 应用程序中,我有一个 ContextMenuStrip。这是在设计时放置的,并且在设计器模式中添加了很少的项目。例如,在设计时添加了以下项目,

--------
Option 1
Option 2
Option 3
--------
Close
Exit

现在我正在从数据库中获取群组。每个组可以有多个用户。所以首先我使用这段代码创建组,

For Each drGroup In dtGroups.Rows
   Dim groupMenu As New ToolStripMenuItem() With {.Text = drGroup ("GroupName"),
                                                       .Name = RemoveWhitespace(drGroup ("GroupName"))
                                                      }
   myCMS.Items.Add(groupMenu)                
Next

我没有提到为组添加子项目的代码,因为它超出了这个问题的范围。现在我的上下文菜单条是这样的,

--------
Option 1
Option 2
Option 3
--------
Close
Exit
Group 1
Group 2
Group 3
Group 4
Group 5

但我想要这样的输出,

Group 1
Group 2
Group 3
Group 4
Group 5
--------
Option 1
Option 2
Option 3
--------
Close
Exit

我不知道如何才能做到这一点。一种方法是删除现有项目并在创建所有动态项目后重新添加它们,但是否有任何其他解决方案。

无需添加项目,只需将它们插入列表的开头即可:

myCMS.Items.Insert(0, groupMenu)

这将更改当前列表中现有项目的 "index" 值。