DevExpress WinForms拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!
DevExpress WinForms控件2024年第一个重大版本——v24.1全新发布,新版本更好的支持HTML & CSS、增强文档管理器功能等,欢迎下载最新版体验!
DevExpress v24.1正式版下载(Q技术交流:532598169)
文档管理器
在设计时新增内容
DevExpress文档管理器支持延迟,为了利用则会个功能,文档内容必须在运行时在QueryControl事件处理程序中生成。虽然这种技术提供了灵活性和性能优势,但对于简单的使用场景(所有文档在设计时都是已知的)来说,它可能会很复杂。
在v24.1中,您可以在设计时(在Visual Studio中)向文档添加用户控件和表单。
Docking库
布局恢复验证
现在可以在反序列化期间确保对接布局的完整性和一致性,反序列化布局数据的不一致或损坏可能导致意外行为、可视化工件或应用程序崩溃。RestoreLayoutError事件允许您防止加载损坏的布局,或者根据需要处理/修复布局相关的问题:
C#
using DevExpress.Utils.Serializing;void dockManager1_RestoreLayoutError(object sender, RestoreLayoutErrorEventArgs e) {
foreach (var exception in e.Exceptions) {
if (exception is TabContainerActiveChildNotSetException activeChildException)
activeChildException.Panel.ActiveChild = activeChildException.Panels[1];
}
e.Throw = false;
}
注意:DevExpress还在WinForms文档管理器(RestoreLayoutError)中添加了布局恢复验证。
HTML & CSS支持
为HTML/CSS预先编写的代码片段
DevExpress v24.1在Visual Studio的HTML模板设计器中包含了40个预先编写的HTML和CSS代码片段,这些是处理常见HTML相关任务的优化代码片段。
代码片段包括:
- 基本元素(边框、图片、链接、工具提示、列表、表格)
- 文本和字体片段
- 布局代码片段
- 颜色与视觉元素
- 绑定代码片段
对齐编辑器文本
现在可以使用标准的CSS属性来对齐HTML模板中使用的DevExpress编辑器内容(水平或垂直)。
PDF Viewer
签名信息面板
使用DevExpress新的签名面板,您可以显示加载文档中每个签名得详细信息并验证签名的有效性。
当您打开文档时,PDF Viewer将验证签名并在Signature面板中显示相关状态(有效、无效或未知)。
此外,新面板还显示了以下与签名相关的信息:
- 文件中签名的位置
- 签名者的信息
- 创建签名的原因
- 文件签署的日期和时间,并在签署后进行修改
- 证书信息
图层
PDF文档图层运行您有选择地查看或隐藏特定的内容部分,图层的主要目的是控制在不同状态下呈现在PDF文档中的图形对象的可见性(当您查看或打印PDF文档时)。
新版本添加一个图层面板来显示文档中包含的所有图层,这个新功能允许您通过UI更改图层可见性。在新建图层面板中,点击图层名称旁边的复选框,显示/隐藏给定的文档图层。使用“eye”图标突出显示可见层;由于文档配置而无法隐藏的图层在其名称旁边没有复选框。
借助PDF Facade API的强大功能,您还可以在运行时预览或打印PDF文档时访问和管理图层可见性,调用PdfViewerExtensions.GetDocumentFacade扩展方法来获取PdfDocumentFacade类对象(它允许您在不访问其内部结构的情况下更改PDF文档),并使用PdfDocumentFacade.OptionalContentVisibility 集合来更改代码中所需文档层的可见性状态。
PdfDocumentFacade类在DevExpress.Docs.v24.1.dll程序集中定义,将这个程序集添加到您的项目中,或者安装DevExpress.Document.Processor NuGet包来使用PdfDocumentFacade成员。
C#
pdfViewer.LoadDocument("layers.pdf");
PdfDocumentFacade documentFacade = pdfViewer.GetDocumentFacade();// Set visibility for each Layer
documentFacade.OptionalContentVisibility.Groups[0].Visible = false;
documentFacade.OptionalContentVisibility.Groups[1].Visible = false;
documentFacade.OptionalContentVisibility.Groups[2].Visible = true;