news 2026/8/18 13:18:33

界面控件DevExpress WinForm——轻松构建类Visual Studio UI(三)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
界面控件DevExpress WinForm——轻松构建类Visual Studio UI(三)

DevExpress WinForm拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForm能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!

DevExpress新旧版本帮助文档下载可进QQ qun获取:169725316

本文专门介绍流行的应用程序界面如何构建——一个经典的布局,包含代表主要工作区域的选项卡或MDI文档、窗体一侧的面板和顶部的主菜单,类似于Microsoft Visual Studio中的用户界面。

本系列文章将分成三部分展示如何执行以下操作:

  • 使用Document Manager(文档管理器)创建传统的基于文档的工作空间;

  • 添加Dock Manager组件并实现常规或自动隐藏面板;

  • 使用Bar Manager组件来管理文档和面板。

在接下来的这个部分中,将学习如何使用Bar Manager(栏管理器)组件。

Step 3 - Bar Manager

在这个部分中,开发者可以向应用程序添加一个Bar Manager组件,并学习如何通过BarItems与DocumentManager和DockManager项交互,部分开发者可能想要Ribbon控件替换Bar Manager组件,下面的所有说明也适用于Ribbon控件。但是在这一部分的学习中使用Bar Manager控件,因为它更适合于Visual Studio应用程序UI。

1. 在工具箱中找到Bar Manager组件,并将其拖放到窗体上。

2. 一旦添加Bar Manager控件后,将自动创建三个栏,这些栏代表主菜单、状态栏和常规工具栏。从技术上讲,这些栏是可以显示BarItemLinks的相同的Bar对象,但是主菜单栏和状态栏分配给了BarManager.MainMenu和BarManager.StatusBar属性,下图演示了这些栏(为了可视化目的,每个栏都添加了一个BarStaticItem)。

要想添加新的栏,请使用 Bar Manager智能标记中的相应链接。

要删除一个现有的工具栏,请在设计时选择它并按‘Delete’,或者在Bar Manager Designer中单击相应的按钮。对于本例来说,我们只需要主菜单和状态栏,因此常规栏可以删除。

3. 栏显示BarItemLink对象 - 链接到BarItems,要将BarItem添加到所需的Bar,请单击‘Add’按钮并选择所需的BarItem类型,添加一个BarSubItem到您的主菜单栏中。

右键单击可以自定义项目,例如选择一种样式,该样式指定是只显示项标题、项符号还是同时显示标题和符号,要在代码中指定此样式,请使用BarItemLink.PaintStyle属性。

默认情况下,常规工具栏中的项目只显示图标,主菜单中的项目只显示标题。

4. 在上一步中添加的BarStaticItem是一个子菜单,可以包含其他项。要向BarStaticItem中添加BarItem,选择BarStaticItem并单击add按钮(使用与向Bar中添加项目时相同的方法)。将New BarButtonItem添加到File子菜单,此按钮将向应用程序添加一个新的Document。

5. 添加一个BarDockingMenuItem到主菜单,这个独特的项允许开发者管理应用程序中包含的DockPanels和Documents。

下面的动画显示了完成上述步骤的大致结果。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/18 13:16:16

迁移学习实战思路:如何用预训练模型完成文本分类

迁移学习实战思路:如何用预训练模型完成文本分类 从零训练语言模型往往需要大量语料、算力和时间。迁移学习的思路是复用预训练模型已经学到的通用语言表示,只用领域数据完成适配。这不是简单加载一个模型,而是一组围绕数据、训练范围和评估的…

作者头像 李华
网站建设 2026/8/18 13:11:35

67.QT-QSharedMemory

1.QSharedMemory介绍 QSharedMemory提供了多个线程和进程对共享内存段的访问。它还提供了一种方法,让单个线程或进程锁定内存以进行独占访问。当使用这个类时,请注意以下平台差异:Windows: QSharedMemory不“拥有”共享内存段。当有QSharedMemory实例附加…

作者头像 李华
网站建设 2026/8/18 13:10:09

加密音乐打不开?3个问题带你彻底搞懂

加密音乐打不开?3个问题带你彻底搞懂 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址: https://gitcode.com/g…

作者头像 李华
网站建设 2026/8/18 13:09:52

Java设计模式---代理模式

引言 在软件设计领域,代理模式(Proxy Pattern)作为一种经典的结构型设计模式,其核心思想是在客户端与目标对象之间引入一个代理对象,以控制对目标对象的访问。这种模式不仅能够在不修改原有代码的基础上增强功能&…

作者头像 李华
网站建设 2026/8/18 13:09:28

第 4 篇:「当数据库坏了」— 优雅降级与七层防守

开场:系统设计的最高考验 现实很残酷:没有什么系统永远可用。 SQLite 可能失败的方式有很多: ❌ 磁盘满了 → 无法写索引 ❌ 权限拒绝 → 无法创建 .loopagent 目录 ❌ 文件锁冲突 → 5 秒超时 ❌ Writer 太慢 → Reader 等待中... ❌ 数据库损坏 → 打开时 SQLITE_CORRU…

作者头像 李华