C#坐标系

摘要:
当坐标不是整数值而是浮点时,请使用PointF而不是Point。常用的Size和Point结构实际上是相同的。还有两个整数属性,宽度和高度,也有变量SizeF,但它们的使用方式不同。可以使用PointToScreen()方法将鼠标坐标转换为屏幕坐标系。

一、概述

从数学角度讲,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坐标进行合成

免责声明:文章转载自《C#坐标系》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇在 Vue+TypeScript 项目中,如何配置 ESLint 和 Prettier小团队开发管理工具:gitlab+redmine+testlink+jenkins下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

VS中,如何将存在于解决方案里,但是没有显示出来的文件(或文件夹)显示到项目中。

不知道有没有人跟我一样,刚开始接触VS的时候,没有通过“右键-˃添加”产生文件,而是直接一些文件或者文件夹建在了项目的本地目录中。导致最后这些文件无法在项目中显示。其实方法很简单如图“Test”文件夹下有一个“Test2”没有显示出来。点击工具栏“显示所有文件”这时就发现之前没有显示的文件就都显示出来了。在想要显示的文件上点击右键,然后点击“包括在项目中”完...

前端er们如何最快开发h5移动端页面?

因此,它总结了移动终端H5最快发展的最佳方案。web移动终端的发展应注重简化,以满足基本业务需求,设计应尽可能扁平化。前视图层angularjs或react作为框架,node作为中间层,js处理从后端接口获取的数据并操作渲染模板文件,这相当于在MVC中完成控制器层的工作。底层是数据库和后端。...

10 TCP限流技术

TCP流限制的原因是接收方可以完全接受消息,以确保数据安全而不会丢失。首先,窗口机制引入了发送方和接收方都有一个窗口。当发送方发送数据时,将发送落入窗口中的数据。当接收器接收到数据时,落入接收器窗口的数据将被接受。可以看出,流量会受到窗口大小II的限制。滑动窗口技术1TCP滑动窗口技术通过动态改变窗口大小来调整两台主机之间的数据传输。...

sqlserver2016安装

2008以前的版本在SQLserver配置管理其中设置。...

go语言游戏服务端开发(一)——架构

本教程以Go语言为例。特别是游戏服务进程有更新上线时,稳定性还没有被线上并发验证,宕机的几率会增加,数据丢失的风险也会增加。为了减轻风险,可以考虑把数据缓存跟服务进程分离。对于轻中度游戏,游戏的通信量不会很多,没必要每个分服都有一个长连接socket网关。假设一个分服同时连接服务器的客户端有5k,一台机器的socket网关能支持5w个玩家。因此网关需要参与服...

node.js

而同样,Node也提供了child_process.fork来创建Node的子进程。请参考文章后的multi-node的性能测试,可以看到在多Node进程的情景下,响应请求的速度被大幅度提高。在文章的写作中,Node最新发布的0.5.10版本新增了cluster启动参数。参数的使用方式如下:nodeclusterserver.js启动Node的时候,在附加了...