• 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坐标进行合成

  • 相关阅读:
    给定中序和后序遍历,求前序序列(C++递归方式实现)
    myeclipse2014删除antlr-2.7.2.jar--解决struts和hibernate包冲突
    hadoop1.2.1配置与运行子串统计程序
    任务计划crontab
    建NTP
    vnc下运行runInstall报java错误
    rpm软件安装
    redis
    rpm包和deb包转换
    新老版本centos下载
  • 原文地址:https://www.cnblogs.com/tinaluo/p/7448432.html
Copyright © 2020-2023  润新知