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
}
);