界面控件DevExpress WinForm——轻松构建类Visual Studio UI(二)
DevExpress WinForm拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForm能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!
本文专门介绍流行的应用程序界面如何构建——一个经典的布局,包含代表主要工作区域的选项卡或MDI文档、窗体一侧的面板和顶部的主菜单,类似于Microsoft Visual Studio中的用户界面。

获取DevExpress v22.2正式版下载(Q技术交流:674691612)
本系列文章将分成三部分展示如何执行以下操作:
使用Document Manager(文档管理器)创建传统的基于文档的工作空间;
添加Dock Manager组件并实现常规或自动隐藏面板;
使用Bar Manager组件来管理文档和面板。
在接下来的这个部分中,将学习如何使用Document Manager(文档管理器)组件。
Step 1 - Document Manager(文档管理器)
在这一步中,您将学习如何使用Document Manager组件。
Document Manager允许开发人员基于相应的视图(Views)创建一个选项卡或MDI应用程序UI,Document Manager的主要元素是Documents——能够封装所需内容并基于父视图显示的对象。
1. 启动Visual Studio,创建一个新的Windows Forms Application项目,并指定其名称和位置。

2. 在Visual Studio工具箱中找到DocumentManager组件,并将其拖放到窗体上。

3. 通过单击控件右上角的智能标记按钮来调用DocumentManager的智能标记,默认情况下,新添加的DocumentManager应用了Tabbed View。您可以选择‘Convert to…’链接将其更改为另一个可用的视图,默认的选项卡视图适用于当前示例,因此保持不变并调用DocumentManager Designer。

4. 在设计器中切换到 ‘Documents’ 部分。

在设计器中,您可以添加或删除文档并修改它们的属性。注意目前只启用了‘Add Document’按钮,文档可以在文档创建、文档激活或表单加载上接收它们的内容。在本例中您将使用第三种方法,因此在应用程序中添加一些用户控件。
注意:如果您的应用程序不需要多个文档,请在Non-Document模式中使用文档管理器。
5. 在Solution Explorer中右键单击项目,并选择Add New Item,如下所示。

在弹出的对话框中,选择User Control 并输入其名称。

根据您的需求重复此步骤多次,然后向每个用户控件添加控件,并根据需要自定义其属性。确保您的项目编译没有错误,然后继续下一步。
6. 您现在拥有多个用户控件,它们代表终端用户的工作空间。现在为每个现有用户控件添加一个文档,打开Designer并跳转到Documents部分。可以看到Populate按钮现在可用了,单击此按钮可为项目中的每个用户控件添加文档。

注意,每个文档都通过BaseDocument.ControlName和BaseDocument.ControlTypeName属性与相应的用户控件相关联。
7. 最后处理视图的BaseView.QueryControl事件,并将所需的控件传递给每个文档:
C#
private void tabbedView1_QueryControl(object sender, DevExpress.XtraBars.Docking2010.Views.QueryControlEventArgs e) {
if (e.Document.ControlName == "UserControl1") e.Control = new UserControl1();
else e.Control = new UserControl2();
}VB.NET
Private Sub tabbedView1_QueryControl(sender As Object, e As DevExpress.XtraBars.Docking2010.Views.QueryControlEventArgs)
If e.Document.ControlName = "UserControl1" Then
e.Control = New UserControl1()
Else
e.Control = New UserControl2()
End If
End Sub8. 下图展示了应用Office 2013皮肤后的结果。

在下一步中,您将学习如何在应用程序中结合Document Manager和Dock Manager。
相关文章:
界面控件DevExpress WinForm——轻松构建类Visual Studio UI(二)
DevExpress WinForm拥有180组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForm能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任…...
BabylonJS之放烟花
一: 技术调研 1. 方案一:ParticleSystem 用ParticleSystem来实现每一束的烟花效果,如果浏览器支持WebGL2功能,使用GPUParticleSystem性能会有极大的提升。 优点: 烟花效果易实现且效果好。 缺点: 每一个P…...
vue3 布局样式的原理
style scoped <style scoped > 它的 CSS 只作用于当前组件中的元素,如果子组件只有一个根元素,也会被渗透 原理: 当我们再组建中使用scoped时,vue会自动为组件中所有元素生成一个随机的属性,形如:da…...
Qt程序使用路径方式和注意事项
Qt程序使用路径方式和注意事项 更多精彩内容👉个人内容分类汇总 👈👉Qt开发经验 👈文章目录Qt程序使用路径方式和注意事项[toc]前言一、Windows下Qt程序使用路径1.准备工作2.测试结果二、Linux下Qt程序使用路径1.准备工作2.测试结…...
和日期相关的代码和bug——一道力扣题中的小发现
目录 Day of the Week 题目大意 常规方法 Python代码 Golang代码 C代码 基姆拉尔森公式 Python代码 Golang代码 C代码 使用库函数 Python代码 Golang代码 C代码 Day of the Week Given a date, return the corresponding day of the week for that date. The inp…...
如何在2023年学习编程并获得开发者工作
丢下自负 许多进入软件开发领域的人都是从最底层开始的,你可能会获得“初级开发者”的头衔。每天面临的问题是:我有十年的专业经验了。我不是个入门员工。但尽管过去的工作经验丰富,我仍然是个入门级的开发者,我还是个新手。别总…...
Python实战之小说下载神器(三)排行榜所有小说:最全热门小说合集,总有一款适合你,好多好多好多超赞的小说...(源码分享学习)
前言 这次的是一个系列内容 给大家讲解一下何一步一步实现一个完整的实战项目案例系列之 小说下载神器(三)(GUI界面化程序) 多线程采集小说下载、采集排行榜所有小说 哈喽!大家上午好啦,我是爱看小说的栗子…...
前端监控之用户行为监控实践1(数据收集)
前文对前端监控进行了简单介绍,起因是因为当前做的一个需求,老板要看当前项目的uv、pv信息。其实这是非常简单的统计。 但在最开始接到这个需求,却难倒我了。 现在进行简单的复盘,记录一下实现方法。 一、数据记录 用户行为从大…...
【网络原理7】认识HTTP
目录 一、HTTP协议的位置 二、HTTP协议的特点&应用场景 三、HTTP协议的格式的查看 Fiddler下载与使用 编辑 如何查看HTTP请求消息 编辑 如何查看HTTP响应数据包 如何默认开启HTTPS的解析功能 四、HTTP的请求数据包的格式含义 第一部分:请求行&…...
SPI实验
目录 一、SPI 简介 二、硬件原理 ECSPI3_SCLK ECSPI3_MISO和ECSPI3_MOSI ECSPI3_SS0 三、I.MX6U ECSPI 简介 ECSPIx_RXDATA ECSPIx_TXDATA ECSPIx_CONREG ECSPIx_CONFIGREG ECSPIx_PERIODREG编辑 ECSPIx_STATREG 四、ICM-20608 简介 五、代码编写 1、创建文件及文…...
去基线处理
目录detrend函数去除基线多项式拟合原函数BEADS 基线处理小波算法经验模态分解(EMD)参考detrend函数去除基线 detrend函数只能用于去除线性趋势,对于非线性的无能为力。 函数表达式:y scipy.signal.detrend(x): 从信号中删除线…...
模拟信号4-20mA /0-5V/0-75mV/0-100mV转RS-485/232,数据采集A/D转换模块 YL21
特点:● 模拟信号采集,隔离转换 RS-485/232输出● 采用12位AD转换器,测量精度优于0.1%● 通过RS-485/232接口可以程控校准模块精度● 信号输入 / 输出之间隔离耐压3000VDC ● 宽电源供电范围:8 ~ 32VDC● 可靠性高,编程…...
[USB]键盘数据格式以及按键键值
USB键盘数据包含8个字节 BYTE1 – 特殊按键 |–bit0: Left Control是否按下,按下为1 |–bit1: Left Shift 是否按下,按下为1 |–bit2: Left Alt 是否按下,按下为1 |–bit3: Left GUI(Windows键) 是否按下,…...
web客户端-websocket
1、websocket简介 WebSocket是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议。 WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,…...
mysql间隙锁
首先我们这里有一个表t,其中的数据如下图所示 注意哈 update由于操作的最新的值,所以是当前读! 另外一个事务插入 8的时候发生锁 而我对id为10的数据进行更新,却不会被锁住 分析:在执行当前读时,由于id7不存…...
华为OD机试 - 计算面积(Java) | 机试题+算法思路+考点+代码解析 【2023】
计算面积 绘图机器的绘图笔初始位i在原点(0.0)。 机器启动后其绘图笔按下面规则绘制直线: 1 )尝试沿着横向坐标轴正向绘制直线,直到给定的终点值E, 2 )期间可通过指令在纵坐标轴方向进行偏移。井同时绘制直线,偏移后按规则1绘制直线;指令的格式为X offsetY。表示在横坐标X…...
Python 之 Pandas 时间戳、通过时间间隔实现 datetime 加减、时间转化、时期频率转换和 shift() 时间频率进行移位)
文章目录一、时间戳1. unit 参数是 s2. year、month、day、hour、minute、second、microsecond 单独设置时间二、通过时间间隔实现 datetime 加减三、时间转化1. 处理各种输入格式2. 将字符串转 datetime3. 除了可以将文本数据转为时间戳外,还可以将 unix 时间转为时…...
一篇文章搞定linux网络模型
网络协议感觉晦涩难懂?什么七层网络模型?又五层网络模型?又四层网络模型?TCP/IP协议是个啥?UDP是啥?什么是三次握手?什么是四次挥手?tcpdump听说是抓包的,怎么用…...
惠普庆祝在中国40年,强化中国发展战略
中国北京,2023年2月23日 ——今日,“品质信赖向未来” 惠普在中国40年系列活动启动仪式及惠普打印春季新品发布会在北京盛大举行。现场,惠普回顾了40年来与中国经济及产业共同发展的历程,并再次强调了惠普一以贯之的“在中国&…...
C++小作业
前言:long long time ago,老大留了点小作业,一直忘了写…偷偷补上 小作业目录unique_ptr vs shared_ptrunique_ptrshared_ptrpublisher/subscriber 1?boost::bindstd::bindthis? _1?TopicContextPtr?std::moveunique_ptr vs sh…...
SDMatte企业级应用:结合数据库实现大规模图片素材管理
SDMatte企业级应用:结合数据库实现大规模图片素材管理 1. 引言:企业图片管理的痛点与机遇 电商公司每天要处理上千张商品图片,设计师团队经常加班到深夜手动抠图。市场部门需要快速调用不同版本的素材,却总在混乱的文件夹里迷失…...
CCS12.2搭配C2000ware 4.03导入工程报错?手把手教你修复头文件路径变量(MATLAB 2023b适用)
CCS12.2与C2000ware 4.03工程导入报错全解析:从路径变量修复到MATLAB 2023b联调实战 当你满怀期待地将MATLAB 2023b生成的代码导入CCS12.2,准备与C2000ware 4.03来场完美邂逅时,编译器却毫不留情地抛出一连串头文件找不到的错误——这种从云端…...
WinSCP+VS Code远程开发:5个提升效率的隐藏技巧(附SSH配置避坑指南)
WinSCPVS Code远程开发:5个提升效率的隐藏技巧(附SSH配置避坑指南) 远程开发已成为现代开发者的标配工作流,而WinSCP与VS Code的组合堪称效率黄金搭档。但大多数开发者仅停留在基础文件传输和远程编辑层面,未能充分挖掘…...
用STM32F103和0.96寸OLED做个桌面电子宠物:从GIF动图到屏幕显示的完整流程
用STM32F103和0.96寸OLED打造智能桌面电子宠物:从动图处理到交互设计的完整指南 在嵌入式开发的世界里,没有什么比亲手打造一个会动的电子宠物更有成就感了。想象一下,你的桌面上有一个由0.96寸OLED屏幕和STM32F103微控制器驱动的小生命&…...
通义千问1.5-1.8B-Chat-GPTQ-Int4入门:C语言基础概念问答助手
通义千问1.5-1.8B-Chat-GPTQ-Int4入门:C语言基础概念问答助手 刚学C语言那会儿,指针、结构体这些概念真是让人头大。书上讲得抽象,网上资料又太零散,要是当时有个能随时提问、还能给出代码例子的“随身老师”就好了。现在&#x…...
DeepSeek-R1-Distill-Llama-8B行业落地:金融研报初稿生成与合规性校验辅助应用实践
DeepSeek-R1-Distill-Llama-8B行业落地:金融研报初稿生成与合规性校验辅助应用实践 1. 引言:金融分析师的新助手 如果你在金融行业工作,每天都要写各种研究报告,那你一定知道这个过程有多耗时耗力。从收集数据、分析趋势&#x…...
Appium自动化测试卡在iOS签名?手把手教你搞定Provisioning Profile与entitlements不匹配的坑
Appium自动化测试卡在iOS签名?手把手教你搞定Provisioning Profile与entitlements不匹配的坑 当你兴致勃勃地准备开始iOS自动化测试时,突然遇到"Provisioning profile doesnt match the entitlements files value for the get-task-allow entitleme…...
FMCW激光雷达深度剖析:从硅光芯片到车载落地的技术跃迁
1. FMCW激光雷达的技术本质:从硅光芯片到系统集成 第一次拆解FMCW激光雷达时,我被它的内部结构震撼到了——这哪里是传统意义上的激光雷达?分明是一个高度集成的光通信模块。与传统TOF激光雷达相比,FMCW最核心的突破在于它把测距原…...
**云迁移实战:基于Python自动化脚本实现从本地到AWS的无缝迁移**在当前数字化转型浪潮中,**云迁移已成为企业架构升级的核
云迁移实战:基于Python自动化脚本实现从本地到AWS的无缝迁移 在当前数字化转型浪潮中,云迁移已成为企业架构升级的核心路径之一。无论是为了提升弹性扩展能力、降低运维成本,还是增强灾备容灾水平,将传统部署环境迁移到云端都是大…...
SEO_网站SEO优化完整教程:从入门到精通
SEO优化入门:从零基础到实战操作 随着互联网的迅猛发展,网站SEO优化成为了网站推广的重要手段。SEO,即搜索引擎优化,是通过优化网站的各项因素,使其在搜索引擎中获得更好的排名,从而吸引更多的流量。如何从…...
