鼻炎医师赵蕊惠靠谱吗:.net中多文档程序中父窗口和子窗口菜单的合并的实现方法

来源:百度文库 编辑:九乡新闻网 时间:2024/04/27 15:13:53
 过去看过一次,不过看的很迷糊,今天重新看了一遍,终于搞清楚了,写出来防止以后忘记(可能性不大^_^),也提供给暂时不太明白的朋友!

         对于多文档的程序,可视化的建立框架我想不用多说了吧,大家都会。

主要建立一个父窗口Form1,子窗口Form2,设置Form1IsMdiContainertrue,表明该窗口为父窗口。

可以再menu上点击右键可以选择“添加标准项”然后就能自动添加标准的一些例如文件、编辑、工具等等的标准菜单项。

Form2子窗口中我们手工添加一些菜单项,如下图

可以看到这里我们的子窗口的菜单栏和父窗口的菜单栏是重复的项,我们要把form2中的“文件”下的“关闭”整合到Form1中去,那么我们可以这么操作:

1、 首先把form1的“文件”选中,属性里设置MergeAction设为Append(默认就是)MergeIndex设为0,一次把“编辑”的MergeIndex设为1,“工具”的设为2,以此下去,这样方便我们在后面比如说要把子窗口的菜单项添加到父窗口中时方便点。

2、 form1的“文件”中的下拉项目“新建”“打开”……以此设置MergeActionInsertMergeIndex以此设为0123…… (分割线也占一个位)

3、 然后设置form2中的“文件”属性设置MergeActionMatchOnlyMergeIndex-1即可,然后把from2的“文件”下的“关闭”属性的MergeAction设为InsertMergeIndex设为这样的一个值----即你想在在form1中“文件”里的下拉菜单里的位置的MergeIndex,因为每一个项目均对应一个MergeIndex,比如我们想把form2中的那个的“关闭”添加到form1中的“退出”之前,我们只需要把“关闭”的MergeIndex设为9即可,因为前面有9个菜单项(包括分隔符)了(下标从0开始)。

4、 剩下的同理。

5、 要是想把“显示”也合并到主菜单上,我们就用MatchOnly,要是想添加到主菜单的相应位置,我们可以用Insert,或者使用Append直接加到最后面。

6、 最后记得把form2中的菜单栏的Visible属性设为False,因为我们已经在主窗口菜单中整合了,所以不要在子窗口重新显示了。

看下运行效果吧