开发WinForm程序时,如何拥有一个强大的编辑器功能?

点击获取工具>>

DevExpress Winforms v20.2日前全新发布,此版本进一步增强图形图表功能、编辑器性能也得到显著提升,欢迎下载最新版体验!

图表

大数据图表

DevExpress Charts v20.2引入一个新选项-Series.AllowResample,激活此选项可最大程度地减少内存占用量,并以极快的速度为手动创建的系列渲染大量数据集。

Diagram

SVG导出

Diagram控件现在支持矢量(SVG)文件导出。

开发WinForm程序时,如何拥有一个强大的编辑器功能?_第1张图片

全新的列表项

Diagram控件包含一个新的容器项 - DiagramList,它将其子项排列在水平或垂直列表中。

开发WinForm程序时,如何拥有一个强大的编辑器功能?_第2张图片

度量单位

您可以启用一个新的ShowMeasureUnit选项,来在Properties Panel、Page Setup Window和Bottom Panel中显示度量单位。

其他增强功能

  • v20.2为组织结构图的自动布局包括一个新的DiagramOptionsOrgChartLayout.IsCompact选项, 将此选项设置为false可以计算所有tip-over子树的偏移量,而不是单个层次结构级别的偏移量,这使得具有复杂层次结构的组织图(tip-over子树)更易于阅读和理解。
  • 现在您可以按住鼠标中键并拖动以平移该图,此操作由AllowMiddleButtonDrag选项控制。
编辑器

新的DateTime偏移量编辑

新的WinForms DateTimeOffsetEdit控件使您可以显示和编辑DateTimeOffset值, 编辑器支持屏蔽输入。

掩码

v20.2附带经过全面检查的掩码引擎,从新的选项和设置到高级的掩码编辑器和数据注释支持,掩码引擎包括您需要的一切,以提供无错误数据输入逻辑的直观用户体验。

新的DateTimeOffset掩码

开发WinForm程序时,如何拥有一个强大的编辑器功能?_第3张图片

支持数据注释

通过代码优先数据源中的数据注释属性应用掩码。

C#

`using System.ComponentModel.DataAnnotations;

public class Employee {
//allow only literals, first literal is automatically captitalized
RegExEditMask("[A-Z+", IgnoreMaskBlank = true, ShowPlaceholders = false)]
public string FirstName { get; set; }
//DateTime in the short "MM/DD/YYYY" format
[EditMask("d")]
public DateTime HiredAt { get; set; }
}`

具有高级设置的掩码编辑器

掩码编辑器允许您选择预构建的掩码,从头开始创建新掩码或自定义预定义的表达式,保存自定义掩码以及应用高级掩码设置(区域性名称、使用高级插入符号等)。

新的API

在此版本中,可通过RepositoryItemTextEdit.MaskSettings属性使用掩码设置,RepositoryItemTextEdit.Mask选项现在已过时。

C#

`textEdit.Properties.MaskSettings.DataType = typeof(decimal);
textEdit.Properties.MaskSettings.MaskExpression = "###.##";
// or
textEdit.Properties.MaskSettings.MaskManagerType = typeof(SimpleMaskManager);
textEdit.Properties.MaskSettings.MaskExpression = "##-##-##";`

新的'Configure' 方法允许您指定掩码类型、表达式并设置其他设置。 例如,以下代码将数字掩码与以下掩码条件一起应用:

  • 允许用户使用“ 000.00”格式输入十进制数字;
  • 隐藏不影响实际值的零(“ .9”替代“ 0.9”);
  • 即使小数段为0(“ 110.”替代“ 110”),也会显示小数点分隔符。

C#

`using DevExpress.XtraEditors.Mask;

//Fluent API
textEdit5.Properties.MaskSettings.Configure(settings => {
settings.MaskExpression = "###.##";
settings.AutoHideDecimalSeparator = false;
settings.HideInsignificantZeros = true;
});

//regular API
var settings = textEdit5.Properties.MaskSettings.Configure();
settings.MaskExpression = "###.##";
settings.AutoHideDecimalSeparator = false;
settings.HideInsignificantZeros = true;`

开发WinForm程序时,如何拥有一个强大的编辑器功能?_第4张图片

文本编辑器的“高级模式”(CTP)

新的“高级模式”为所有基于TextEdit的WinForms编辑器添加了许多有趣的选项(TokenEdit、HyperTextLabel和HyperlinkEdit控件除外)。 这些包括:

  • 性能改进
  • 嵌入式标签

  • 表情符号

您的用户现在可以插入包含表情符号的字符串,或按“ Win +”,通过热键从Windows库输入表情符号。

为所需的编辑器启用新的“ AdvancedModeOptions.UseDirectXPaint”选项,以允许插入彩色表情符号。 否则,编辑器将显示标准表情符号的黑白版本。

开发WinForm程序时,如何拥有一个强大的编辑器功能?_第5张图片

  • 动画插入符和选择

插入标记的移动和文本选择更令人赏心悦目。

开发WinForm程序时,如何拥有一个强大的编辑器功能?_第6张图片

文本选择颜色现在基于当前应用的皮肤。

开发WinForm程序时,如何拥有一个强大的编辑器功能?_第7张图片

要激活“高级模式”,请启用“ Properties.UseAdvancedMode”属性。

增强SvgImageBox功能

  • 工具提示
  • 上下文按钮
  • 图像对齐
  • 禁用单个项目
  • 使用自定义外观设置保存SVG

开发WinForm程序时,如何拥有一个强大的编辑器功能?_第8张图片

支持Ctrl+Backspace

现在WinForms TextEdit控件及其后代支持Ctrl + Backspace热键组合,该组合将删除光标左侧的单词。

TokenEdit - 绑定到数据

您现在可以将Token Edit绑定到数据,使用新的“ DataSource”属性来指定带有token的描述和唯一值的字段。

开发WinForm程序时,如何拥有一个强大的编辑器功能?_第9张图片

C#

`tokenEdit1.Properties.DataSource = categoryBindingSource;
tokenEdit1.Properties.ValueMember = "ID";
tokenEdit1.Properties.DisplayMember = "Name";`

TokenEdit - 单击时显示下拉列表

最终用户现在可以在编辑框中单击来显示带有tokens的下拉列表。

CameraControl,PictureEdit - 指定默认的相机设备和分辨率

此版本向TakePictureDialogShowing事件添加了新参数,以允许您指定默认的相机设备并配置其分辨率。

C#

`void OnTakePictureDialogShowing(object sender, TakePictureDialogShowingEventArgs e) {
e.ResolutionMode = ResolutionMode.Maximum;
}`

Take Picture对话框(独立并嵌入在Picture Edit控件中)将当前相机设备及其分辨率保留在系统注册表中,下次您打开Take Picture对话框时,将重新使用这些设置。

PictureEdit - 配置输出图像格式

新的“ OptionsEditDialog.OutputImageFormat”属性使您可以指定输出图像格式,默认输出图像格式为PNG。

PictureEdit - 图像裁剪操作的自定义宽高比

现在,您可以处理新的'CustomizeCropOptions'事件来自定义宽高比选项。

开发WinForm程序时,如何拥有一个强大的编辑器功能?_第10张图片

C#

`void PeEditable_ImageEditorDialogShowing(object sender, ImageEditorDialogShowingEventArgs e) {
e.Form.CustomizeCropOptions += (s, ea) => { CustomizeCropOptions(s, ea); };
}

void CustomizeCropOptions(object sender, CustomizeCropOptionsEventArgs e) {
var widescreen = new AspectRatioInfo(1.777f, "16:9");
var standard = new AspectRatioInfo(1.333f, "4:3");
e.AspectRatios.Clear();
e.AspectRatios.Add(widescreen);
e.AspectRatios.Add(standard);
e.DefaultAspectRatio = widescreen;
}`

ListBox - 项目自动高度

现在当基于模板渲染项目时,WinForms Listbox控件可以自动计算最佳项目高度。

你可能感兴趣的:(开发WinForm程序时,如何拥有一个强大的编辑器功能?)