亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

PointFromScreen和PointFromScreen的用法和區(qū)別

系統(tǒng) 1766 0

如下面的xaml代碼:

??

< Window x:Class = " WindowsApplication5.Window1 "

xmlns = " http://schemas.microsoft.com/winfx/2006/xaml/presentation "

xmlns:x = " http://schemas.microsoft.com/winfx/2006/xaml "

Title = " WindowsApplication5 " Height = " 300 " Width = " 300 " WindowStartupLocation = " CenterScreen "

>

< Grid >

< Canvas Name = " canvas " >

< Button Name = " btnClick " Width = " 30 " Height = " 20 " Canvas.Left = " 50 " Canvas.Top = " 50 " VerticalAlignment = " Center " HorizontalAlignment = " Center " > click me </ Button >

</ Canvas >

</ Grid >

</ Window >

在Canvas上面有一個(gè)Button,btnClick相對(duì)于canvas的位置是50和50,該窗體最后運(yùn)行出來(lái)相對(duì)于屏幕的

位置如下圖所示:

PointFromScreen和PointFromScreen的用法和區(qū)別

?

UIElement.PointFromScreen(Point):參數(shù)是屏幕Screen中的一個(gè)坐標(biāo)點(diǎn),這個(gè)函數(shù)的作用是把Screen中的一個(gè)點(diǎn)的坐標(biāo)轉(zhuǎn)換成該窗體Window中的坐標(biāo),參照點(diǎn)是UIElement的位置(當(dāng)作(0,0)),所以:

btnClick.PointFromScreen( new Point (0, 0));?值為

(-416,-292)? -- screen的(0,0)相對(duì)于btnClick的topleft(當(dāng)作(0,0))的坐標(biāo)。

btnClick.PointFromScreen( new Point (50, 50));

值為 ? (-366,-242) -- screen的(50,50)相對(duì)于btnClick的topleft(當(dāng)作(0,0))的坐標(biāo)。

canvas.PointFromScreen( new Point (0, 0));

值為 (-366,-242) -- screen的(0,0)相對(duì)于canvas的topleft(當(dāng)作(0,0))的坐標(biāo)。

Canvas .GetLeft(btnClick); 值為50

Canvas .GetTop(btnClick);? 值為50

UIElement.PointToScreen(Point):參數(shù)是窗體Window中的一個(gè)坐標(biāo),參照點(diǎn)是相對(duì)于UIElement(位置當(dāng)作(0,0)),偏移量為Point的一個(gè)點(diǎn),返回該點(diǎn)在Screen中的坐標(biāo):

btnClick.PointToScreen( new Point (50,50)); // (466,342)

canvas.PointToScreen( new Point (50,50)); // (416,292)

注意屏幕的左上角的坐標(biāo)是(0,0)。

另外學(xué)習(xí)

e.GetPosition(UIElement)的用法,也可以用Mouse.GetPosition(UIElement)達(dá)到相同的效果。

通常e是一個(gè)鼠標(biāo)單擊事件的EventArgs,例如:

btnClick.PreviewMouseLeftButtonDown += new MouseButtonEventHandler

(btnClick_PreviewMouseLeftButtonDown);

void btnClick_PreviewMouseLeftButtonDown( object sender, MouseButtonEventArgs e)

{

Point p1 = e.GetPosition(sender as Button );

Point p2 = e.GetPosition(canvas);

}

如果我單擊btnClick上很靠近左上角的一個(gè)地方,假設(shè)該點(diǎn)相對(duì)于btnClick左上角的坐標(biāo)是(2,2),

那么p1的值是(2,2),p2(52,52)。

PointFromScreen和PointFromScreen的用法和區(qū)別


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 人人爽天天碰天天躁夜夜躁 | 亚洲欧美在线观看91偷拍 | 黄色四虎影院 | 免费高清一级欧美片在线观看 | 91精选在线观看 | 国产在线精品一区二区三区 | 久久精品亚洲乱码伦伦中文 | 国产成人久久精品激情 | 国产精品视频一区麻豆 | 久久www免费人成看片色多多 | 欧美在线视频在线观看 | 久久精品高清 | 一本到视频在线观看 | 国产成 人 综合 亚洲绿色 | 曰批免费视频播放在线看片一 | 精品国产一区二区三区香蕉事 | 欧美性大战久久久久久久蜜桃 | bbw下身丰满18ⅹxxⅹ | 性欧美高清come | 国产精品美女一区二区三区 | 天天艹夜夜| swag系列国产精品 | 日日夜夜国产 | 欧美一级毛片无遮 | 精品美女 | 亚洲va欧美va国产va天堂 | 在线欧美日韩国产 | 婷婷五月色综合香五月 | 天天综合在线视频 | 黄色成人在线播放 | 狠狠色丁香婷婷久久综合考虑 | 亚洲四区 | 久久久久青草线蕉亚洲麻豆 | 99视频一区| 久久午夜综合久久 | 免费的拍拍视频在线观看 | 91探花在线视频 | 黄色资源在线观看 | 毛茸茸成熟女性老太的女bbww | 久久婷婷成人综合色 | 免费99热在线观看 |