翻譯|使用教程|編輯:龔雪|2022-10-24 10:26:00.013|閱讀 216 次
概述:本文主要介紹如何開(kāi)發(fā)基于DevExpress的應(yīng)用程序,使其可以在高DPI的設(shè)備上使用,歡迎下載相關(guān)組件體驗(yàn)!
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷售中 >>
相關(guān)鏈接:
DevExpress WinForm擁有180+組件和UI庫(kù),能為Windows Forms平臺(tái)創(chuàng)建具有影響力的業(yè)務(wù)解決方案。DevExpress WinForms能完美構(gòu)建流暢、美觀且易于使用的應(yīng)用程序,無(wú)論是Office風(fēng)格的界面,還是分析處理大批量的業(yè)務(wù)數(shù)據(jù),它都能輕松勝任!
DPI Awareness模式指定在高分辨率屏幕上顯示應(yīng)用程序的方式。
要使基于DevExpress的WinForms應(yīng)用程序能夠感知DPI,請(qǐng)打開(kāi)Project Settings Page并選擇所需的感知模式。
或者,在應(yīng)用程序啟動(dòng)時(shí)調(diào)用以下方法:
不要使用應(yīng)用程序清單文件來(lái)啟用DPI感知,因?yàn)檫@可能會(huì)導(dǎo)致許多問(wèn)題(例如,與clickonce不兼容)。
在應(yīng)用程序被設(shè)置為DPI-aware時(shí),不要使用Microsoft Windows圖形設(shè)備接口(GDI),這可能會(huì)導(dǎo)致意想不到的結(jié)果。也就是說(shuō)不要使用任何圖形對(duì)象,如位圖、筆刷或字體。另外,不要調(diào)用可能使用它們的任何子系統(tǒng)(例如,不要將皮膚應(yīng)用到應(yīng)用程序)。
調(diào)用靜態(tài)的(在VB.NET中共享)方法,以確保正確激活DPI感知。
因?yàn)槟膽?yīng)用程序需要根據(jù)顯示的DPI值調(diào)整大小,保持布局靈活。如果可能,使用LayoutControl、TablePanel和StackPanel容器,當(dāng)父容器大小發(fā)生變化時(shí),這些容器會(huì)自動(dòng)調(diào)整控件的布局。
不管DPI感知模式、光柵圖像縮放出現(xiàn)模糊時(shí),要保持簡(jiǎn)潔的應(yīng)用程序外觀,請(qǐng)使用矢量圖像:矢量皮膚和SVG圖標(biāo)。
如果您更喜歡柵格項(xiàng)目圖標(biāo),可以使用存儲(chǔ):它為每個(gè)DPI值存儲(chǔ)獨(dú)立的圖像包,并根據(jù)顯示在它們之間動(dòng)態(tài)切換。
許多DevExpress控件公開(kāi)CustomDraw事件,允許您重繪控件元素。
在支持DPI Awareness之前,這些事件公開(kāi)了返回對(duì)象的e.Graphics屬性,您可以調(diào)用此對(duì)象的方法來(lái)繪制自定義形狀和文本字符串。
C#
e.Graphics.DrawString(...);
VB.NET
e.Graphics.DrawString(...)
現(xiàn)在所有CustomDraw<VisualElement>事件參數(shù)都公開(kāi)了返回GraphicsCache對(duì)象的e.Cache屬性——圖形的DevExpress對(duì)象,GraphicsCache公開(kāi)了與標(biāo)準(zhǔn)圖形類相同的API,并針對(duì)High-DPI和directx呈現(xiàn)的應(yīng)用程序進(jìn)行了優(yōu)化,您應(yīng)用始終使用e.Cache屬性中可用的繪制方法。
C#
e.Cache.DrawString(...);
VB.NET
e.Cache.DrawString(...)
要跟蹤所有不推薦用于DirectX-rendered和Per-Monitor DPI-aware應(yīng)用程序的API時(shí),請(qǐng)調(diào)用靜態(tài)WindowsFormsSettings.ForcePaintApiDiagnostics方法,并將安全級(jí)別設(shè)置為第一個(gè)參數(shù):
遠(yuǎn)程用戶不斷收到應(yīng)用程序視覺(jué)外觀的快照,應(yīng)用程序的視覺(jué)效果越多,需要進(jìn)行的更新就越多。如果連接很差且刷新率低,應(yīng)用程序可能看起來(lái)沒(méi)有響應(yīng)。在一些低性能的環(huán)境中,您可能會(huì)遇到類似的問(wèn)題,例如當(dāng)您的目標(biāo)是使用WinForms應(yīng)用程序的嵌入式系統(tǒng)時(shí)。
要在遠(yuǎn)程環(huán)境中減少流量消耗并提高整體性能,可以有選擇地禁用可選效果。
在v21.1或更新版本中,啟用OptimizeRemoteConnectionPerformance屬性以最小化視覺(jué)效果和動(dòng)畫(huà)的數(shù)量。
DevExpress技術(shù)交流群6:600715373 歡迎一起進(jìn)群討論
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都網(wǎng)