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下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...
随机推荐
- Spring @Valid
@Valid基本用法 强烈推荐如果要学习@Valid JSR303, 建议看这里的API Bean Validation规范 ! Controller控制器中在需要校验的实体类上添加 @Valid ...
- JSON & Ajax
Ajax是异步JavaScript和XML是用来在客户端作为一组相互关联的Web开发技术,以创建异步Web应用程序. Ajax模型,Web应用程序可以发送数据和检索数据从一个服务器,而不干扰现有的页面 ...
- Android - 自定义控件和属性(attr和TypedArray)
http://blog.csdn.net/zjh_1110120/article/details/50976027 1.attr format 取值类型 以ShapeView 为例 <decla ...
- 输出字符串中最长的单词 C# 算法
要求: 设计一个算法从一片英语文章或者英语字符串里面输出其中最长的单词. Input: string Output: string 尽可能多的设计测试用例来测试这个算法. 考虑空间和时间复杂度 ...
- SpringMVC拦截器实现:当用户访问网站资源时,监听session是否过期
SpringMVC拦截器实现:当用户访问网站资源时,监听session是否过期 一.拦截器配置 <mvc:interceptors> <mvc:interceptor> < ...
- js-ES6学习笔记-module(3)
1.如果想设置跨模块的常量(即跨多个文件),或者说一个值要被多个模块共享,可以采用下面的写法. // constants.js 模块 export const A = 1; export const ...
- amazeui+canvas绘制二维码
<link rel="stylesheet" type="text/css" href="css/amazeui.min.css"/& ...
- 高性能JavaScript(DOM编程)
首先什么是DOM?为什么慢? DOM:文档对象模型,是一个独立于语言的,用于操作XML和HTML文档的程序接口(API) 用脚本进行DOM操作的代价很昂贵.那么,怎样才能提高程序的效率? 1.DOM访 ...
- <Android 基础(三十三)> TabHost ~ 仿微信底部菜单
简介 Container for a tabbed window view. This object holds two children: a set of tab labels that the ...
- SD从零开始09-10
SD从零开始9 数据流(Data Flow) 根据参考创建Create with reference 可以参考之前的凭证来创建销售凭证,可以在初始画面,也可以在凭证处理过程中,通过uniform. d ...