界面開發工具DevExpress WinForms布局控件——v20.2中即將發布的五大新功能
下載DevExpress v20.1完整版 DevExpress v20.1漢化資源獲取
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
DevExpress技術交流群2:775869749 歡迎一起進群討論