开发WinForm程序时,如何拥有一个强大的编辑器功能?
DevExpress WinForms Subscription拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!
DevExpress Winforms v20.2日前全新发布,此版本进一步增强图形图表功能、编辑器性能也得到显著提升,欢迎下载最新版体验!
DevExpress v20.2完整版下载
图表
大数据图表
DevExpress Charts v20.2引入一个新选项-Series.AllowResample,激活此选项可最大程度地减少内存占用量,并以极快的速度为手动创建的系列渲染大量数据集。
Diagram
SVG导出
Diagram控件现在支持矢量(SVG)文件导出。
全新的列表项
Diagram控件包含一个新的容器项 - DiagramList,它将其子项排列在水平或垂直列表中。
度量单位
您可以启用一个新的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掩码
支持数据注释
通过代码优先数据源中的数据注释属性应用掩码。
C#
using System.ComponentModel.DataAnnotations;public class Employee { //allow only literals, first literal is automatically captitalized [RegExEditMask("[A-Z][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<MaskSettings.Numeric>(settings => { settings.MaskExpression = "###.##"; settings.AutoHideDecimalSeparator = false; settings.HideInsignificantZeros = true; });//regular API var settings = textEdit5.Properties.MaskSettings.Configure<MaskSettings.Numeric>(); settings.MaskExpression = "###.##"; settings.AutoHideDecimalSeparator = false; settings.HideInsignificantZeros = true;
文本编辑器的“高级模式”(CTP)
新的“高级模式”为所有基于TextEdit的WinForms编辑器添加了许多有趣的选项(TokenEdit、HyperTextLabel和HyperlinkEdit控件除外)。 这些包括:
- 性能改进
- 嵌入式标签
- 表情符号
您的用户现在可以插入包含表情符号的字符串,或按“ Win +”,通过热键从Windows库输入表情符号。
为所需的编辑器启用新的“ AdvancedModeOptions.UseDirectXPaint”选项,以允许插入彩色表情符号。 否则,编辑器将显示标准表情符号的黑白版本。
- 动画插入符和选择
插入标记的移动和文本选择更令人赏心悦目。
文本选择颜色现在基于当前应用的皮肤。
要激活“高级模式”,请启用“ Properties.UseAdvancedMode”属性。
增强SvgImageBox功能
- 工具提示
- 上下文按钮
- 图像对齐
- 禁用单个项目
- 使用自定义外观设置保存SVG
支持Ctrl+Backspace
现在WinForms TextEdit控件及其后代支持Ctrl + Backspace热键组合,该组合将删除光标左侧的单词。
TokenEdit - 绑定到数据
您现在可以将Token Edit绑定到数据,使用新的“ DataSource”属性来指定带有token的描述和唯一值的字段。
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'事件来自定义宽高比选项。
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控件可以自动计算最佳项目高度。
上DevExpress中文网,获取第一手最新产品资讯!
DevExpress技术交流群3:700924826 欢迎一起进群讨论
开发WinForm程序时,如何拥有一个强大的编辑器功能?相关推荐
- .Net6开发winform程序使用依赖注入学习通http://www.bdgxy.com/
文章来源: 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 表格制作excel教程h ...
- 【无标题】.Net6开发winform程序使用依赖注入学习通http://www.bdgxy.com/
文章来源: 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 表格制作excel教程h ...
- 在VS.NET中使用clickonce技术开发Winform程序
做为程序员,我们经常要面对的是对开发模式的选择,比如C/S模式和b/s模式.现在,很多人都似乎比较喜欢选择B/S模式进行web的开发,这其中的原因是很多的.但其中一点很重要的原因,那就是因为B/S开发 ...
- [存档]使用.Net开发web程序时现在比较流行的前台技术都有什么?
如题,我一直做winform项目,过些天有个web项目.我想知道前台设计现在流行什么呀,Silverlight.ExtJS还是JQuery等.另外开发web程序有没有什么流行的框架呀.像java的Sp ...
- 关于开发网络应用程序时,传输层协议的选择
#1 相关介绍 应用程序开发者可以控制套接字在应用层端的一切,但是对该套接字的传输层端几乎没有控制权.应用程序开发者对于传输层的控制仅限于:选择传输层协议.也许能设定几个传输层参数,如最大缓存和最大报 ...
- 【小题目】写JAVA程序时可以创建一个名为123.java的源文件吗
在写JAVA程序时创建名为123.java的源文件,前提是该源文件中没有public修饰的类,因为一旦使用public修饰后类名必须与文件名相同,而类名为标识符,不能以数字开头.因此,在没有用publ ...
- 在C# winform程序中调用WPF写的数学公式编辑器
由于工作原因,需要在程序中加入数学公式编辑功能,因此在网上找了不少开源数学公式程序.经过比较,最终选择了Math-Editor-master程序(可以在github上搜索此名称). 我的程序(简称主程 ...
- C# 开发winform程序 手机短信群发系统
手机短信群发作为企业日常通知,公告,天气预报等信息的一个发布平台,在于成本低,操作方便等诸多特点,成为企业通讯之首选.本文介绍短信的编码方式,AT指令以及用C#实现串口通讯的方法. 前言 目前,发送短 ...
- Taro框架开发小程序时不让首部的标题显示和更改默认头部背景
一般在微信小程序开发中会自动生成'首页'两个字 export default class Index extends Component {config = {navigationBarTitleTe ...
最新文章
- 贝叶斯定理核心在后验概率是对先验概率的修正,即后验概率是描述来自先验概率的概率
- css 实现打分效果
- JS模块化工具requirejs教程02
- python pow和**_Python学习笔记 | 实例3:天天向上的力量
- dockerfile COPY ADD 命令
- 理解DataSet的数据缓存机制
- 基于shell脚本比较数字大小
- 红帽发布了下一代OpenShift Online
- MyBatisPlus查询方法selectById、selectOne、selectBatchIds、selectByMap、selectPage的使用
- 如何将本地文件利用git工具上传到github仓库中(超详细+最新版)
- 训练日志 2019.1.10
- mysql gdb 调试 参数_gdb调试带参数程序
- java----EL表达式
- 深度学习优化算法大全系列1:概览
- 制作地图的那些事(二)——制图之符号制作
- shell脚本大全(一)
- 浅谈视频会议系统的运行与维护
- 访问项目,页面打开太慢解决方式
- C#文件操作——文件、数据流与注册表
- SpringBoot快速整合Quartz动态管理定时任务