原文:
c# 獲取當前螢幕的寬高和位置
本章主要介紹如何獲取當前視窗所在螢幕的資訊
如果當前是單螢幕,可以直接獲取主螢幕
var primaryscreen = screen.primaryscreen;
如果當前是多屏,建議通過視窗控制代碼獲取screen資訊
var window = window.getwindow(exportbutton);//獲取當前主視窗
var intptr = new windowinterophelper(window).handle;//
獲取當前視窗的控制代碼
var screen = screen.fromhandle(intptr);//
獲取當前螢幕
dpi轉換比例常量,dpipercent = 96;
為何dpipercent為96 ?有乙個概念「裝置無關單位尺寸」,其大小為1/96英吋。比如:
【物理單位尺寸】=1/96英吋 * 96dpi = 1畫素;
【物理單位尺寸】=1/96英吋 * 120dpi = 1.25畫素;
bounds對應的是螢幕的解析度,而要通過bounds.width獲取螢幕的寬度,則需要將其轉化為wpf單位的高寬。
步驟:獲取當前螢幕的物理尺寸(x/y方向的畫素)--如x方向 currentgraphics.dpix / dpipercent
將screen.bounds的資訊轉化為wpf單位資訊 --如高度 screen.bounds.width / dpixratio
using (graphics currentgraphics =graphics.fromhwnd(intptr))
也可以通過system.windows.systemparameters,直接獲取主螢幕資訊,不過這個類只能獲取主螢幕的高寬。
這裡的高寬指的是實際高寬。
主螢幕:
var screenheight =systemparameters.primaryscreenheight;var screenwidth = systemparameters.primaryscreenwidth;
多屏時全螢幕:
var primaryscreenheight =systemparameters.fullprimaryscreenheight;var primaryscreenwidth = systemparameters.fullprimaryscreenwidth;
當前工作區域:(除去工作列的區域)
var workareawidth =systemparameters.workarea.size.width;var workareaheight = systemparameters.workarea.size.height;
關鍵字:wpf單位,螢幕高寬/位置
C 獲取當前螢幕的寬高和位置
本章主要介紹如何獲取當前視窗所在螢幕的資訊 如果當前是單螢幕,可以直接獲取主螢幕 var primaryscreen screen.primaryscreen 如果當前是多屏,建議通過視窗控制代碼獲取screen資訊 var window window.getwindow exportbutton ...
獲取螢幕的高和寬
displaymetrics dm getresources getdisplaymetrics int width dm.widthpixels int height dm.heightpixels 上面的方法是獲取整個螢幕的高度和寬度,可是有的時候activity被巢狀使用,所以需要獲得acti...
獲取螢幕的寬高
獲取螢幕長寬常用方法有三種 androidmanifest.xml檔案中,加入supports screens節點,這樣的話,當前的android程式就支援了多種解析度,那麼就可以得到正確的物理尺寸了。方法一 windowmanager wm windowmanager getsystemservi...