EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

如何:访问文档管理器

本主题演示如何访问文档管理器MdiShowViewStrategy用来显示视图在一个WinForms应用程序。您将在左侧找到标签标题,并将其水平放置。

AccessDocumentManager

提示

DevExpress代码示例数据库(http://www.devexpress.com/example=E4027)中提供了完整的示例项目。

在这里,假定您已将Windows窗体应用程序的模型编辑器中的UI类型设置为TabbedMDI(请参阅IModelOptionsWin.UIType)。执行以下步骤来访问DocumentManager对象并自定义其默认设置。

  1. 在WinForms模块的Controllers文件夹中创建一个新的WindowController
  2. 文档管理器位于MainForm模板上。重写Controller的OnActivated方法,并订阅主窗口的Frame.TemplateChanged事件,以在创建或更改MainForm模板后访问它。
  3. 通过IDocumentsHostWindow接口强制转换MainForm模板,并使用DocumentManager属性访问Document Manager 。
  4. 订阅在Document Manager切换到另一个View时发生的DocumentManager.ViewChanged事件。
  5. 添加以下CustomizeDocumentManagerView方法,如果Document Manager的View为TabbedView类型,则该方法可更改选项卡标题的位置和方向。
  6. 从Frame.TemplateChanged和DocumentManager.ViewChanged事件处理程序中调用CustomizeDocumentManagerView方法。
  7. 当停用Controller时,重写OnDeactivated方法并取消订阅Window.TemplateChanged事件。
using DevExpress.ExpressApp;
using DevExpress.XtraBars.Docking2010;
using DevExpress.XtraBars.Docking2010.Views;
using DevExpress.XtraBars.Docking2010.Views.Tabbed;
using DevExpress.ExpressApp.Templates;
// ...
public class TabsCustomizationWindowController : WindowController {
    public TabsCustomizationWindowController() {
        TargetWindowType = WindowType.Main;
    }
    protected override void OnActivated() {
        base.OnActivated();
        Window.TemplateChanged  = Window_TemplateChanged;
    }
    private void Window_TemplateChanged(object sender, EventArgs e) {
        IFrameTemplate template = Window.Template;
        DocumentManager docManager = ((IDocumentsHostWindow)template).DocumentManager;
        docManager.ViewChanged  = docManager_ViewChanged;
        CustomizeDocumentManagerView(docManager.View);
    }
    private void docManager_ViewChanged(object sender, ViewEventArgs args) {
        CustomizeDocumentManagerView(args.View);
    }
    private static void CustomizeDocumentManagerView(BaseView view) {
        if(view is TabbedView) {
            ((TabbedView)view).DocumentGroupProperties.HeaderLocation = 
                DevExpress.XtraTab.TabHeaderLocation.Left;
            ((TabbedView)view).DocumentGroupProperties.HeaderOrientation = 
                DevExpress.XtraTab.TabOrientation.Horizontal;
        }
    }
    protected override void OnDeactivated() {
        Window.TemplateChanged -= Window_TemplateChanged;
        base.OnDeactivated();
    }
}

运行该应用程序,以确保选项卡标题的位置已更改。

转载保留此链接,注明出处