MDI一个比较显著的特性是菜单合并。即子窗体的菜单能合并到主窗体的菜单上。假想一下如果没有这个功能,主窗体和子窗体各显示一个菜单栏,那人机交互该有多糟糕。工具栏是一个与菜单栏同等重要的窗体界面元素,如果也能实现合并功能,将为MDI界面的应用开发增色不少。我们可以象典型的MDI应用一样,只将工具栏放在主窗口上,在主窗体的工具栏中放上全局通用的工具项,而针对特定子窗体的工具项在子窗体中设计,显示的时候与主窗体的工具栏合并显示。这样一则可以在做到界面的一致性的同时也将MDI主窗体和子窗体之间的耦合降到很低,其次在支持插件开发时也很有意义。
示例如下, 主窗体
显示某子窗体时:
显示另外一个子窗体时:
其中变化的工具项是在子窗体中设计的。虽然显示在主窗体的工具栏中,但还是从属于子窗体,在事件处理等操作中与原来并无二致。
示例如下, 主窗体
显示某子窗体时:
显示另外一个子窗体时:
其中变化的工具项是在子窗体中设计的。虽然显示在主窗体的工具栏中,但还是从属于子窗体,在事件处理等操作中与原来并无二致。