界面開(kāi)發(fā)工具DevExpress WinForms布局控件——v20.2中即將發(fā)布的五大新功能
下載DevExpress v20.1完整版 DevExpress v20.1漢化資源獲取
DevExpress WinForms能完美構(gòu)建流暢、美觀且易于使用的應(yīng)用程序,無(wú)論是Office風(fēng)格的界面,還是分析處理大批量的業(yè)務(wù)數(shù)據(jù),它都能輕松勝任!體驗(yàn)?點(diǎn)擊下載>>
在本文中,我們將總結(jié)一下即將在DevExpress WinForms Layout/Data Layout控件的v20.2版本中提供的新功能。
突出顯示不可調(diào)整大小的元素
如果您使用過(guò)DevExpress WinForms布局控件,就知道它提供了幾乎無(wú)限的布局自定義選項(xiàng),這種靈活性是有代價(jià)的,因?yàn)樵摽丶竽付ㄔS多設(shè)置 - 可能相互沖突的設(shè)置。
使用DevExpress v20.2,我們的設(shè)計(jì)時(shí)和運(yùn)行時(shí)自定義表單會(huì)自動(dòng)突出顯示已達(dá)到其最小/最大 大小(因此無(wú)法進(jìn)一步調(diào)整大?。┑捻?xiàng)目。
在上圖中,"Contact Title"不能放大,因?yàn)橄噜彽腡extEdit ("Contact Name")已達(dá)到其最小寬度,粉色高亮顯示使您可以快速確定影響調(diào)整大小操作的項(xiàng)目。
如果要限制元素大小,建議對(duì)這些項(xiàng)目中托管的控件使用標(biāo)準(zhǔn)Control.MinimumSize和Control.MaximumSize屬性。 您也可以將SizeConstraints設(shè)置為“ Custom”,并限制整個(gè)Layout Item的大小,但是我們不建議您使用這種方法。 首先,它的靈活性較差 - 它要求您同時(shí)設(shè)置寬度和高度限制,而標(biāo)準(zhǔn)屬性僅允許您限制一個(gè)控件尺寸。其次,如果布局項(xiàng)目文本發(fā)生更改(例如,當(dāng)您將應(yīng)用本地化為另一種語(yǔ)言時(shí)),此方法可能會(huì)導(dǎo)致不良結(jié)果。
數(shù)據(jù)布局控件中的新API
Data Layout控件是標(biāo)準(zhǔn)布局控件的數(shù)據(jù)感知版本,它會(huì)根據(jù)您的數(shù)據(jù)源自動(dòng)構(gòu)建布局,并顯示第一個(gè)數(shù)據(jù)源記錄。 要顯示其他記錄的值,以前的版本要求您實(shí)現(xiàn)自定義數(shù)據(jù)導(dǎo)航器。 在v20.2中,您將能夠使用嵌入式Data Layout Control API來(lái)瀏覽數(shù)據(jù)項(xiàng)。
- CurrentRecordPosition - 為該屬性分配數(shù)據(jù)行索引,在WinForms數(shù)據(jù)布局控件中顯示該行的值;
- CurrentRecord - 返回一個(gè)對(duì)象(例如,一個(gè)DataRow),其值當(dāng)前顯示在數(shù)據(jù)布局控件中;
- GetCurrentRecordFieldValue(string fieldName) - 允許您檢索屬于當(dāng)前行和特定數(shù)據(jù)源列的單元格的值;
- SetCurrentRecordFieldValue(string fieldName, object value) - 允許您編輯數(shù)據(jù)源記錄;
- RecordCount - 返回?cái)?shù)據(jù)源記錄的總數(shù)。
所有方法都為DataLayoutControl類實(shí)現(xiàn)。
支持超鏈接
最近在布局項(xiàng)目和布局組標(biāo)題中添加了對(duì)HTML標(biāo)簽(包括HTML圖像)的支持,這就意味著您現(xiàn)在可以將超鏈接添加到這些字幕中。
要響應(yīng)超鏈接單擊,請(qǐng)?zhí)幚鞮ayoutControl.HyperlinkClick事件。 該事件是任何單擊超鏈接的單個(gè)入口點(diǎn),并且事件“ e.Item”參數(shù)使您可以確定哪個(gè)布局項(xiàng)目觸發(fā)了該事件。
layoutControl.HyperlinkClick += OnHyperlinkClick; void OnHyperlinkClick(object sender, LayoutItemHyperlinkClickEventArgs e) { if(e.Item == layoutControlItem1) System.Diagnostics.Process.Start(e.Link); }
表布局模式下行和列的可見(jiàn)性設(shè)置
現(xiàn)在,表布局模式的ColumnDefinition和RowDefinition對(duì)象包含Visible屬性,不可見(jiàn)的列或行被隱藏在其布局項(xiàng)旁邊。 如果一個(gè)項(xiàng)目跨越多行或多列,而您隱藏了其中的一行或幾行,則該項(xiàng)目會(huì)減小其大小,但仍然可見(jiàn)。
高級(jí)序列化選項(xiàng)
在v20.2中,您將能夠使用LayoutControl.OptionsSerialization屬性選擇要保存到文件中的布局控件設(shè)置。此屬性提供以下Boolean選項(xiàng):
- StoreAppearance
- StoreSpaceOptions
- StoreEnabledState
- StoreText
- StorePrintOptions
- DiscardOldItems
DevExpress技術(shù)交流群2:775869749 歡迎一起進(jìn)群討論