DevExpress WinForms拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!
DevExpress WinForm 2022年发布的第一个重大版本——v22.1升级了对支持High-DPI及其他辅助功能增强,一起来了解一下还有哪些更新吧!
支持High-DPI
支持PerMonitorV2伸缩
此版本改进了以下WinForms控件,以保持混合模式DPI缩放:
UI自动化
启用一个新的静态WindowsFormsSettings.UseUIAutomation选项使用Microsoft UIAutomation,它提供对桌面上大多数用户界面(UI)元素的程序化访问,并允许自动化测试脚本与UI交互。
我们还支持UI自动化模式,如网格、dock、滚动、选择、表格、展开/折叠以及数据网格、树列表、数据编辑器、Ribbon、bar、布局控件、Accordion和dock窗口中的许多其他模式。
可访问性
为所有DevExpress控件定制可访问性信息
新版本引入了一个新的静态'DXAccessible.QueryAccessibleInfo' 事件,它作为一个入口点,为您的WinForm应用程序中的所有DevExpress控件定制可访问性信息。如果您在应用中使用来自多个程序集的控件(例如Data Grid, Editors, Charts, PivotGrid),那么每个控件都会触发QueryAccessibleInfo事件。
C#
- using System.Windows.Forms;
- using DevExpress.Accessibility;
- //...
- public XtraForm1() {
- InitializeComponent();
- DXAccessible.QueryAccessibleInfo += OnQueryAccessibleInfo;
- }
- void OnQueryAccessibleInfo(object sender, object sender, DXAccessible.QueryAccessibleInfoEventArgs e) {
- if(e.OwnerControl == gridControl1)
- if(e.Role == AccessibleRole.Row)
- e.Name = "my row text";
- }
注意:'QueryAccessibleInfo'事件是一个弱事件,您应该将其处理程序声明为表单类中的一个方法,否则就会发生垃圾回收。
常见的增强
此版本将'AccessibleName', 'AccessibleRole', 'AccessibleDescription'属性添加到以下类:
还为以下组件引入了'AccessibleRole'属性:
同时技术团队还检查了Data Grid, TreeList, Data Editors, Ribbon, Bars, Accordion, Layout Control和Dock Windows,来解决可能的可访问性问题,这些UI控件现在具有正确的UI Automation属性并生成预期的事件。
禁用所有DevExpress控件的可访问性
一个新的静态WindowsFormsSettings.DisableAccessibility属性允许您禁用WinForms应用程序中所有DevExpress控件的“DevExpress”可访问性。
同时还添加了一个新的静态SuppressExcessiveAccessibilityNotifications选项,当Windows Narrator的 'Read and interact with the screen using the mouse'设置关闭时,此选项允许您在鼠标悬停时启用/禁用可访问性事件,WinForms Data Grid, Verticel Grid和TreeList控件也支持这种操作。
诊断代码(CTP)
现在,您可以在输入时检测到c#代码错误,可以在代码编辑器和错误列表窗口中检查错误(如果有的话)。
安装'DevExpress.Win.CodeAnalysis' 包来启用代码诊断,分析器需要Visual Studio 2019或更新的版本,并支持 .NET Framework 和 .NET 5+。