DevExpress WinForms v24.1新版亮点:功能区、数据编辑器全新升级

news2024/9/21 15:54:05

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

DevExpress WinForms控件2024年第一个重大版本——v24.1全新发布,此版本对功能区、状态栏、数据编辑器等进行了升级,欢迎下载最新版体验!

DevExpress v24.1正式版下载(Q技术交流:532598169)

Ribbon & Bars
页面关键提示

v24.1新增了一个ShowPageKeyTipsMode属性,使用此属性可配置Ribbon UI内页面键提示的显示。这一增强功能允许用户(喜欢使用键盘快捷键替代鼠标输入)快速浏览不同的功能区并访问特定的命令(无需不必要的按键)。

选项包括:

  • Hide - 隐藏所有功能区页面的关键提示。
  • ShowOnMultiplePages - 仅当Ribbon UI显示多个页面时才显示关键提示。
  • Show(默认) - 显示所有可见的Ribbon页面和所选页面的关键提示(即使所选页面是隐藏的)。
BarCheckItem - 检查状态图像

您现在可以为复选框项(BarCheckItem)的选中和未选中状态指定不同的图像(位图或SVG)。

DevExpress WinForms v24.1产品图集

新的API包括:

  • CheckedImage / CheckedImageIndex / CheckImageKey
  • CheckedLargeImage / CheckedLargeImageIndex / CheckLargeImageKey
  • CheckedSVGImage
按“Enter”执行命令

新版本在命令搜索框中扩展了可用的用户交互,用户可以执行命令,不需要额外的点击或者交互。处理新的SearchMenuEnterPressed事件,来在用户执行搜索并按Enter键时立即执行基于自由编写的文本或第一个找到的命令的命令。

在搜索菜单弹出框中管理和显示相关命令

DevExpress Ribbon控件公开了一个CustomizeSearchMenu事件,此事件允许您实现自定义逻辑,以确定必须在搜索结果中显示哪些命令,v24.1扩展了事件的参数来简化自定义。

新的API包括:

  • e.AddHeader(string caption) – 显示带有特定标题的header。
  • e.AddItem(BarItem item) – 在搜索结果中显示指定的命令。
  • e.ShowNoMatchesItem – 指定当搜索查询没有返回结果时是否显示“No matches found”。

DevExpress WinForms v24.1产品图集

C#

void ribbonControl1_CustomizeSearchMenu(object sender, RibbonSearchMenuEventArgs e) {
if(e.SearchString.ToLower() == "format") {
e.AddHeader("Text Formatting");
e.AddItem(ribbonControl1.Items["iBold"]);
e.AddItem(ribbonControl1.Items["iItalic"]);
e.AddItem(ribbonControl1.Items["iUnderline"]);
e.ShowNoMatchesItem = false;
}

新版本为那些喜欢从头生成搜索结果的人引入了UseCustomRibbonSearch属性,当设置为true时,DevExpress Ribbon控件不会自动填充搜索结果(e.Menu.ItemLinks)。在添加自己的命令之前,不需要清除预构建的搜索结果。

使用RibbonControl.OptionsSearchMenu属性访问与搜索相关的设置,这些包括:

  • SearchItemPosition
  • SearchItemShortcut
  • UseCustomRibbonSearch
合并功能区消息(MDI)

父窗体的Ribbon控件显示合并后子MDI窗体上显示的Ribbon控件的消息(Office样式的弹出式通知和警报):

使用RibbonControl.MergedMessages控件来访问和管理合并的消息。

DevExpress WinForms v24.1产品图集

Data Editors(数据编辑器)
DateEdit - DateOnly类型支持

DevExpress WinForms DateEdit控件现在支持DateOnly数据类型,以下属性接受DateOnly值:

  • public DateOnly DateOnly { get; set; }
  • public object MinDate { get; set; }
  • public object MaxDate { get; set; }
简单的按钮 - 自定义绘画

新版本实现了CustomDraw事件,处理此事件手动绘制我们的WinForms简单按钮。

DevExpress WinForms v24.1产品图集

C#

void simpleButton1_CustomDraw(object sender, DevExpress.XtraEditors.ButtonCustomDrawEventArgs e) {
if(e.Info.State == DevExpress.Utils.Drawing.ObjectState.Hot) {
e.Cache.FillRectangle(Brushes.Orange, e.Bounds);
e.DefaultDrawImage();
e.DefaultDrawText();
e.Handled = true;
}
}
基于文本框编辑器的统一填充设置

v24.1在所有DevExpress基于文本框的数据编辑器类型(如TextEdit, SpinEdit, DateEdit, MemoEdit等)中提供一致的填充设置,这些设置允许您保持视觉一致性,而不必为不同的编辑器类型指定不同的填充选项。

使用Properties.TextPadding和Properties.Padding属性来指定文本框内的文本和内容填充。

DevExpress WinForms v24.1产品图集

MemoEdit - 增强WXI皮肤可视化

新版本增强了MemoEdit边框的可视化,并在WXI皮肤中添加了滚动条着色,因此DevExpress WinForms MemoEdit现在支持DevExpress皮肤颜色。

DevExpress WinForms v24.1产品图集

C#

memoEdit1.Properties.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Question;
区分用户修改与代码修改对编辑器价值的影响

现在可以区分由用户进行的修改和通过编程(在代码中)对编辑器值进行的修改,在EditValueChanging事件的参数中添加了e.ModifiedByUser参数:

C#

void textEdit1_EditValueChanging(object sender, DevExpress.XtraEditors.Controls.ChangingEventArgs e) {
if(e.ModifiedByUser) {
// ...
}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2111591.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CMAQ 5.4 输入与输出数据

CMAQ 5.4 输入与输出数据 参考 CMAQ输入文件.https://github.com/USEPA/CMAQ/blob/main/DOCS/Users_Guide/CMAQ_UG_ch04_model_inputs.md CMAQ输出文件.https://github.com/USEPA/CMAQ/blob/main/DOCS/Users_Guide/CMAQ_UG_ch07_model_outputs.md 目录 文章目录 CMAQ 5.4 输…

企业如何组建安全稳定的跨国通信网络?

组建一个安全稳定的跨国通信网络对于现代企业来说至关重要,尤其是当企业在全球范围内运营时。以下是一些关键步骤和考虑因素: 需求分析: 确定企业的具体通信需求,包括带宽要求、延迟敏感度、数据类型(如语音、视频、文…

Sobel边沿检测

前言 Sobel边沿检测是一种用于图像处理的边缘检测技术。它通过计算图像的梯度来识别图像中的边缘。Sobel算子是一种常用的边缘检测滤波器,它利用两个卷积核来分别检测水平和垂直方向的边缘。Sobel边沿检测在很多图像处理应用中都很有用,比如图像分割、目…

SpringBoot 集成 PDFBox 实现电子签章

Apache PDFBox 是一个开源的 Java 库,用于处理 PDF 文档。它提供了一系列强大的功能,包括创建、渲染、拆分、合并、加密、解密 PDF 文件,以及从 PDF 中提取文本和元数据等。PDFBox 支持 PDF 1.7 标准,并且兼容大多数现代 PDF 格式…

为何iPhone 16系列的发布对苹果至关重要?

即将发布的iPhone 16系列对苹果来说将是至关重要的时刻,特别是在快速发展的AI智能手机市场背景下。随着Android制造商在集成先进AI功能方面领先一步,苹果正处于一个关键的转折点——赶上竞争对手不仅仅是选择,而是必须完成的任务。 AI竞赛&am…

java设计模式(行为型模式:状态模式、观察者模式、中介者模式、迭代器模式、访问者模式、备忘录模式、解释器模式)

6,行为型模式 6.5 状态模式 6.5.1 概述 【例】通过按钮来控制一个电梯的状态,一个电梯有开门状态,关门状态,停止状态,运行状态。每一种状态改变,都有可能要根据其他状态来更新处理。例如,如果…

SpringCloud集成ELK

1、添加依赖 <dependency><groupId>net.logstash.logback</groupId><artifactId>logstash-logback-encoder</artifactId><version>6.1</version> </dependency>2、在logback-spring.xml中添加配置信息&#xff08;logback-sp…

Ubuntu 22.04 如何关闭防火墙

在Ubuntu 22.04中&#xff0c;默认的防火墙管理工具仍然是ufw&#xff08;Uncomplicated Firewall&#xff09;。您可以使用以下命令来关闭防火墙&#xff1a; 关闭防火墙&#xff1a; sudo ufw disable查看防火墙状态&#xff1a; sudo ufw status如果需要重新开启防火墙&…

WebShell流量特征检测_冰蝎篇

什么是一句话木马&#xff1f; 1、定义 顾名思义就是执行恶意指令的木马&#xff0c;通过技术手段上传到指定服务器并可以正常访问&#xff0c;将我们需要服务器执行的命令上传并执行 2、特点 短小精悍&#xff0c;功能强大&#xff0c;隐蔽性非常好 3、举例 php一句话木…

结合Python与GUI实现比赛预测与游戏数据分析

在现代软件开发中&#xff0c;用户界面设计和数据处理紧密结合&#xff0c;以提升用户体验和功能性。本篇博客将基于Python代码和相关数据分析进行讨论&#xff0c;尤其是如何通过PyQt5等图形界面库实现交互式功能。同时&#xff0c;我们将探讨如何通过嵌入式预测模型为用户提供…

Java项目: 基于SpringBoot+mybatis+maven+mysql图书馆管理系统(含源码+数据库+任务书+答辩PPT+毕业论文)

一、项目简介 本项目是一套基于SpringBootmybatismavenmysql图书馆管理系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操…

MongoDB创建用户教程

1、连接到 MongoDB 首先&#xff0c;打开你的终端并使用 mongosh 命令连接到 MongoDB 服务器&#xff1a; mongosh --host <hostname> --port <port> 说明&#xff1a; mongosh&#xff1a;启动 MongoDB Shell 命令行工具。 --host <hostname>&#xff1a…

前端URL链接转迅雷下载链接

一、前言 普通的url是无法拉起迅雷下载的&#xff0c;这个时候需要把url转成迅雷能识别的链接。 二、url转迅雷链接 首先就是在普通url前面加上 AA&#xff0c;尾部加上 ZZ&#xff0c;然后将拼接后的url转成base64&#xff0c;JavaScript提供了转成base64的函数&#xff08…

leetcode 1651 Hopper公司查询3(postgresql)

需求 Table: Drivers -------------------- | Column Name | Type | -------------------- | driver_id | int | | join_date | date | -------------------- driver_id是该表的主键。 该表的每一行均包含驾驶员的ID以及他们加入Hopper公司的日期。 Table: Rides ---------…

Python面向对象(14成员成员修饰符)

目录 一.成员 1.变量 2.方法 3.属性 二.成员修饰符 一.成员 1.变量 实例变量&#xff0c;属于对象&#xff0c;每个对象中各自维护自己的数据。 类变量&#xff0c;属于类&#xff0c;可以被所有对象共享&#xff0c;一般用于给对象提供公共数据&#xff08;类似于全局变…

[机器学习]线性回归算法

1 线性回归简介 概念&#xff1a;利用回归方程&#xff08;函数&#xff09;对一个或多个自变量&#xff08;特征值&#xff09;和因变量&#xff08;目标值&#xff09;之间关系进行建模的一种分析方式。 weight&#xff1a;权重&#xff1b;bias 偏置 线性回归分类&#xf…

代码随想录算法训练营_day37

题目信息 518. 零钱兑换 II 题目链接: https://leetcode.cn/problems/coin-change-ii/description/题目描述: 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑…

pgrx在docker中问题无法解决

前面写了一系列pgrx开发结合docker postgres,但是当程序写的很大的时候,发现本地安装没有问题,docker里面可能有libc6 2.33 报错以及下面错误: 但是,在本地安装的pg中,没有这问题: 至于为什么,我查了很多,比如docker版本问题blablabla,都不重要了,按照所有建议的方法都没有解决…

示波器知识 | 什么是示波器?模拟和数字示波器区别?

系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试 6.程序设计 7.算法学习 8.编写exe 9.检测标准 10.项目举例 11.职业规划 1、什么是示波器&#xff1f; 示波器是一种电子测试和测量仪器&#xff0c;以 X-Y 图的形式以图形方式显示电信号。在这里&…

【LeetCode】:面试题 16.05. 阶乘尾数

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;C课程学习 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 好久没有写文章了&#xff0c;今天碰见了一道有趣的题目&#xff0c;写下来分享一下。 &#x1f3c6;1.问题描…