zoukankan      html  css  js  c++  java
  • DevExpress12、DocumentManager

    DocumentManager控件

          你用过Photoshop吗?里面每打开一个照片,就有一个小窗体承载这个照片,你可以在这些小窗体间切换,最小化、最大化、排列窗体,

    这些操作都在Photoshop的大框架(MDI主窗体)里,而这些小窗体就是MDI子窗体

          MDI是Multiple Document Interface的缩写,就是多文档界面的意思。它是和单文档SDI相对的。

    MDI和SDI在界面上的主要区别如下:MDI允许用户同时打开多个文档,而SDI只能打开一个文档。

          MDI子窗体可以通过DocumentManger控件,以 nativemdiview 对象或 tabbedview 对象的形式展现出来;

    通过其 ViewCollection属性 添加View视图(子窗体),可以添加TabbedView、WindowsUIView、WidgetView、NativeMdiView四种视图;

    通过Run Designer中Main下的Document给视图添加Document文档(显示的面板);

    NativeMdiView视图

    实现效果如图:

    通过代码实现如下:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Linq;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using DevExpress.XtraEditors;
    using DevExpress.XtraBars.Docking2010;
    using DevExpress.XtraBars.Docking2010.Views.NativeMdi;
    
    namespace DXApplication_1
    {
        public partial class DocumentMangerForm : DevExpress.XtraEditors.XtraForm
        {
            public DocumentMangerForm()
            {
                InitializeComponent();
            }
    
            private void DocumentMangerForm_Load(object sender, EventArgs e)
            {
                Encapsulation_CreateDocumentManager();
                for (int i = 0; i < 3; i++) {
                    Encapsulation_AddChild(); 
                }
            }
    
            void Encapsulation_CreateDocumentManager() {
                DocumentManager documentManager = new DocumentManager();
                documentManager.MdiParent = this;
                // type one
                documentManager.View = new NativeMdiView();
            }
    
            int childCount = 0;
            void Encapsulation_AddChild() {
                Form childForm = new Form();
                childForm.Text = "Child Form " + (++childCount);
    
                SimpleButton btn = new SimpleButton();
                btn.Text = "Button " + childCount;
                btn.Parent = childForm;
    
                // 
                childForm.MdiParent = this;
                childForm.Show();
            }
        }
    }

    TabbedView视图

    实现效果如图:

    代码实现如下:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Linq;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using DevExpress.XtraEditors;
    using DevExpress.XtraBars.Docking2010;
    using DevExpress.XtraBars.Docking2010.Views.Tabbed;
    
    namespace DXApplication_1
    {
        public partial class DocumentMangerForm2 : DevExpress.XtraEditors.XtraForm
        {
            public DocumentMangerForm2()
            {
                InitializeComponent();
            }
    
            private void DocumentMangerForm2_Load(object sender, EventArgs e)
            {
                Encapsulation_CreateDocumentManager();
                for (int i = 0; i < 3; i++)
                {
                    Encapsulation_AddChild();
                }
            }
    
            void Encapsulation_CreateDocumentManager()
            {
                DocumentManager documentManager = new DocumentManager();
                documentManager.MdiParent = this;
                // another type 
                documentManager.View = new TabbedView();
            }
    
            int childCount = 0;
            void Encapsulation_AddChild()
            {
                Form childForm = new Form();
                childForm.Text = "Child Form " + (++childCount);
    
                SimpleButton btn = new SimpleButton();
                btn.Text = "Button " + childCount;
                btn.Parent = childForm;
    
                // 
                childForm.MdiParent = this;
                childForm.Show();
            }
        }
    }
  • 相关阅读:
    .NET Core SignalR 和 .NET SignalR 区别
    MySQL 连接出现 Authentication plugin 'caching_sha2_password' cannot be loaded
    Geohash 基本知识及 .NET 下计算相邻8个区域编码
    ASP.NET 下配置请求大小、请求时间等参数
    .NET Core、EF、Dapper、MySQL 多种方式实现数据库操作(动态注册实体类)
    .NET Core 开发常用命令(VS Code)
    ping
    exec与xargs区别
    doc转docx
    读取docx表格中的信息
  • 原文地址:https://www.cnblogs.com/springsnow/p/10298600.html
Copyright © 2011-2022 走看看