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 = ; i < ; i++) {
Encapsulation_AddChild();
}
} void Encapsulation_CreateDocumentManager() {
DocumentManager documentManager = new DocumentManager();
documentManager.MdiParent = this;
// type one
documentManager.View = new NativeMdiView();
} int childCount = ;
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 = ; i < ; i++)
{
Encapsulation_AddChild();
}
} void Encapsulation_CreateDocumentManager()
{
DocumentManager documentManager = new DocumentManager();
documentManager.MdiParent = this;
// another type
documentManager.View = new TabbedView();
} int childCount = ;
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();
}
}
}
DevExpress12、DocumentManager的更多相关文章
- 黑马-Spring(IOC&DI) AOP
IOC(控制翻转) 概念 把对象的创建.初始化.销毁等工作交给spring容器来做 案例 环境 步骤 1. 写一个HelloWorld类 2. 写一个配置文件 把hello类放到spring容 ...
- DevExpress12.2.4 GridControl相关技巧
1.DevExpress12.2.4中,设置GridControl的GridView为可编辑方法如下: gvMainControl.OptionsBehavior.Editable = true; 2 ...
- Spring自学教程-IOC、DI、AOP(二)
一.spring的IOC-就是怎样使用spring来创建对象 二.springDI(依赖注入)-就是怎样给属性赋值 通过set方式赋值 以下我们只需要记住两点的赋值,基本类型和引用类型的赋值 基本类型 ...
- C#操作CAD-初始化、引用dll
操作cad等方式有很多,比如C,C++,vb.lisp(效率最高,但是语言结构性太差)和C#,因为我等个人习惯和方便等原因,在此讲解一下用C#操作流程,后续会更新操作图层.扩展数据.绘图等操作步骤.当 ...
- Spring学习笔记之基础、IOC、DI(1)
0.0 Spring基本特性 Spring是一个开源框架:是基于Core来架构多层JavaEE系统 1.0 IOC 控制反转:把对象的创建过程交给spring容器来做. 1.1 application ...
- js-静态、原型、实例属性
本篇来说一下js中的属性: 1.静态属性 2.原型属性 3.实例属性 静态属性: function klass(){} var obj=new klass(); klass.count=0; klas ...
- 【.net 深呼吸】细说CodeDom(2):表达式、语句
在上一篇文章中,老周厚着脸皮给大伙介绍了代码文档的基本结构,以及一些代码对象与CodeDom类型的对应关系. 在评论中老周看到有朋友提到了 Emit,那老周就顺便提一下.严格上说,Emit并不是针对代 ...
- javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈
Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...
- IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法
直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...
随机推荐
- Unix/Linux系统管理技术手册学习笔记——shell
创建日期:2016/02/29 更新日期:2016/02/29 shell变量赋值时不能在等号两边留空白,否则shell会把变量名误认为是命令名 双引号括起来的变量可以进行替换(用*和?这样的文件名匹 ...
- .2-浅析express源码之applicaiton模块(1)-咸鱼方法
上一节讲了express的入口文件,当执行主函数,会调用app.init方法,这个方法就来源于application模块. 这个模块有很多方法,目前仅仅过一下初始化方法: app.init = fun ...
- Jquery操作样式
1.CSS(name,value) 修改单个样式 $(function(){ $(".divcontent").css("background","r ...
- WebForm 基础学习
C/S 客户端应用程序(Client/Server) 客户端——服务器端 两种技术 WinForm WPF ...
- ExtJs 中Viewport的介绍与使用
ExtJs 中Viewport的介绍与使用 VeiwPort 代表整个浏览器显示区域,该对象渲染到页面的body 区域,并会随着浏览器显示区域的大小自动改变,一个页面中只能有一个ViewPort 实例 ...
- Shiro遇到的SecurityManager红色警告
问题如图 需要添加一个导入 import org.apache.shiro.mgt.SecurityManager; 这样就不会报错了
- 【转】classpath和环境变量设置
http://www.360doc.com/content/12/0722/14/820209_225797366.shtml 在没有设置环境变量之前,我们可以通过直接在应用程序中加带相关信息来运行我 ...
- java基础-基础语法
一.标识符 java中对各种变量.方法和类等要素命名的时候使用的字符序列称为标识符. java中标识符的命名规则:1.由字母.数字.下划线(_)以及美元符号($)组成 2.标识符应该以字母或者下划线开 ...
- Dubbox分布式框架
一:简介:前身是阿里巴巴的一个开源的项目,后来停止维护,由当当网继续维护,它致力于rpc远程的调度方案.是一个服务框架 二:执行原理图: 节点角色说明: · Provider: 暴露服务的服务提供方. ...
- 杭电 OJ 提交代码需要注意的问题
杭电acm 提交代码需要注意的问题 1. 用 Java 的时候类名请用 Main 2. Java 提交出现 PE 的可能原因有 1) 最基本的错误是空格问题,比如注意每行的末尾是否输出空格 2) 用 ...