DevExpress技术交流群2:775869749 欢迎一起进群讨论
DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!
在本文中,我们将总结一下即将在DevExpress WinForms Layout/Data Layout控件的v20.2版本中提供的新功能。
突出显示不可调整大小的元素
如果您使用过DevExpress WinForms布局控件,就知道它提供了几乎无限的布局自定义选项,这种灵活性是有代价的,因为该控件要求您指定许多设置 - 可能相互冲突的设置。
使用DevExpress v20.2,我们的设计时和运行时自定义表单会自动突出显示已达到其最小/最大 大小(因此无法进一步调整大小)的项目。
在上图中,"Contact Title"不能放大,因为相邻的TextEdit ("Contact Name")已达到其最小宽度,粉色高亮显示使您可以快速确定影响调整大小操作的项目。
如果要限制元素大小,建议对这些项目中托管的控件使用标准Control.MinimumSize和Control.MaximumSize属性。 您也可以将SizeConstraints设置为“ Custom”,并限制整个Layout Item的大小,但是我们不建议您使用这种方法。 首先,它的灵活性较差 - 它要求您同时设置宽度和高度限制,而标准属性仅允许您限制一个控件尺寸。其次,如果布局项目文本发生更改(例如,当您将应用本地化为另一种语言时),此方法可能会导致不良结果。
数据布局控件中的新API
Data Layout控件是标准布局控件的数据感知版本,它会根据您的数据源自动构建布局,并显示第一个数据源记录。 要显示其他记录的值,以前的版本要求您实现自定义数据导航器。 在v20.2中,您将能够使用嵌入式Data Layout Control API来浏览数据项。
- CurrentRecordPosition - 为该属性分配数据行索引,在WinForms数据布局控件中显示该行的值;
- CurrentRecord - 返回一个对象(例如,一个DataRow),其值当前显示在数据布局控件中;
- GetCurrentRecordFieldValue(string fieldName) - 允许您检索属于当前行和特定数据源列的单元格的值;
- SetCurrentRecordFieldValue(string fieldName, object value) - 允许您编辑数据源记录;
- RecordCount - 返回数据源记录的总数。
所有方法都为DataLayoutControl类实现。
支持超链接
最近在布局项目和布局组标题中添加了对HTML标签(包括HTML图像)的支持,这就意味着您现在可以将超链接添加到这些字幕中。
要响应超链接单击,请处理LayoutControl.HyperlinkClick事件。 该事件是任何单击超链接的单个入口点,并且事件“ e.Item”参数使您可以确定哪个布局项目触发了该事件。
layoutControl.HyperlinkClick += OnHyperlinkClick; void OnHyperlinkClick(object sender, LayoutItemHyperlinkClickEventArgs e) { if(e.Item == layoutControlItem1) System.Diagnostics.Process.Start(e.Link); }
表布局模式下行和列的可见性设置
现在,表布局模式的ColumnDefinition和RowDefinition对象包含Visible属性,不可见的列或行被隐藏在其布局项旁边。 如果一个项目跨越多行或多列,而您隐藏了其中的一行或几行,则该项目会减小其大小,但仍然可见。
高级序列化选项
在v20.2中,您将能够使用LayoutControl.OptionsSerialization属性选择要保存到文件中的布局控件设置。此属性提供以下Boolean选项:
- StoreAppearance
- StoreSpaceOptions
- StoreEnabledState
- StoreText
- StorePrintOptions
- DiscardOldItems