C# 在visualc中移动菜单

C# 在visualc中移动菜单,c#,visual-studio,visual-studio-2008,C#,Visual Studio,Visual Studio 2008,为了便于说明,我有一个简化了以下结构的菜单: Menu Bar |--File | |--Save | |--Exit |--Tools | |--Tool Category 1 | |--Tool Category 2 | |--Tool Category 3 |--Help |--About 我想将其重建如下: Menu Bar |--File | |--Save | |--Exit |--Tool Category 1 |-

为了便于说明,我有一个简化了以下结构的菜单:

Menu Bar
 |--File
 |   |--Save
 |   |--Exit
 |--Tools
 |   |--Tool Category 1
 |   |--Tool Category 2
 |   |--Tool Category 3
 |--Help
     |--About
我想将其重建如下:

Menu Bar
 |--File
 |   |--Save
 |   |--Exit
 |--Tool Category 1
 |--Tool Category 2
 |--Tool Category 3
 |--Help
     |--About

但是,在VisualStudio2008Pro中,除了在已经存在的特定菜单组中重新组织这些菜单项之外,我不允许拖动这些菜单项。我有没有办法在不完全重建菜单栏的情况下移动它们?请注意,实际上菜单项比我显示的菜单项多得多。

从头开始重做菜单,有时最好从头开始!:-

我试过这个,效果很好:

右键单击要移动的菜单项 在关联菜单中选择“剪切” 右键单击要移动它的菜单条 在关联菜单中选择“粘贴”
希望有帮助。

您也可以转到菜单项的设计器代码。您会发现类似以下代码:

添加要将现有菜单项移动到其中的菜单项,然后修改并移动这些菜单项

       this.mnuInfo.Items.AddRange(
          new System.Windows.Forms.ToolStripItem[] {
             this.mniAddNewProject
          }
       );
       this.newMenuItem.Items.AddRange(
          new System.Windows.Forms.ToolStripItem[] {
             this.mniAddNewWorkFlow,      
             this.mniDeleteProject
          }
       );

就这样。我希望这有帮助。

谢谢,就这样。我想知道为什么拖放不起作用。这确实“起作用”,但根据我的经验,VS2010也会删除点击事件的内容和其他内容??。“剪切”的效果比“复制”好得多,因为它保留了控件的名称等,但我怀疑手工编辑代码效果最好。正如我所说的,这不是几个项目,有几十个项目需要移动。它可以方便地拖放,或者像沃伊斯拉夫建议的那样,剪切和粘贴。从头开始重做是可行的,但正如我在问题中指出的那样,我宁愿不这样做。我投票支持这一点,至少对于已经完全设置和定制的菜单项,因为它似乎不太可能丢失内容。请参阅我关于点击事件的其他评论。
       this.mnuInfo.Items.AddRange(
          new System.Windows.Forms.ToolStripItem[] {
             this.mniAddNewProject
          }
       );
       this.newMenuItem.Items.AddRange(
          new System.Windows.Forms.ToolStripItem[] {
             this.mniAddNewWorkFlow,      
             this.mniDeleteProject
          }
       );