C#坐標系


一、概述

從數學角度講,Point是一個二維矢量,包含兩個公共整型屬性,屬性用大寫X和Y(c#中公共屬性一般約定以大寫字母開頭)。當坐標不是整數值是float時,用PointF代替Point使用

常用的Size和Point結構其實相同,也有兩個整型屬性Width和Height,也有變體SizeF,但兩者使用方式不同。Point是說明實體在什么地方,而Size用於說明實體多大,它們之間可以顯示轉換。一個Point和一個Size可以組成一個Rectangle。另外Point和Size可以進行加減運算:point-size=point;size+size=size;但是point+point (是錯誤的),Point相加會認為沒有意義。

在winform 中的坐標系主要分為三類:

1.  一類是屏幕坐標系,以顯示屏左上角為(0,0)點的坐標,橫坐標從左到右增加,縱坐標從上到下增加。

2.  第二類是窗體坐標系,以winform窗體左上角為(0,0)點,橫坐標從左到右增加,縱坐標從上到下增加。

3.  第三類是窗體控件坐標系,以該控件的左上角為(0,0)點,橫坐標從左到右增加,縱坐標從上到下增加。

並提供了這三類坐標相互轉換的方法,如PointToClient()、PointToScreen()等。

c# <wbr>winform <wbr>中的坐標系

 

二、鼠標在窗口中的坐標;

鼠標事件中,鼠標位置使用的是第二類的窗口坐標系。可以使用PointToScreen()方法將鼠標坐標轉換為屏幕坐標系。

例:

Point p = this.PointToScreen(new Point(e.X, e.Y));

三、坐標合成:Point.Offset(Point p)

可以將兩個point坐標進行合成

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM