当前位置: 首页 > news >正文

winform开发中的几个坐标

前言

我们在开发winform程序的过程中经常会遇到各种坐标,本文就是对winfrom程序开发中的坐标进行总结:

1、控件左上角位置相对于父控件的坐标

winfrom界面中除了窗体以外有很多控件,这些控件都有自己的父控件,也叫作父容器,那么这些控件的左上角相对于其父容器的左上角的坐标是怎么获取的呢?
其实有一个属性叫做Location属性,下图中蓝色控件是一个Picturebox控件,蓝色控件的父容器就是窗体Form1,水平方向是X正方向,Y方向是垂直向下方向,可以看到,控件左上角相对于父控件的坐标值是:X:523,y=38,当然这里的窗体左上角是不包含窗体的边框的,下图显示的是一个带有边框的窗体。
在这里插入图片描述

2、窗体左上角位置相对于屏幕左上角的坐标

winform中有很多的窗体,这些窗体没有父控件,所以它的Location属性指的是左上角距离屏幕左上角的坐标。下图可以看出Form1窗体的左上角距离屏幕左上角坐标X=0,y=51,这里的X=0看起来有点勉强,因为距离我的屏幕最左边还有一点距离,这个坐标是Form1.Location属性获取。
在这里插入图片描述

3、鼠标的位置相对于所在控件左上角的坐标

当我们使用鼠标在控件上移动的时候,鼠标的位置相对于控件左上角的位置是不断发生改变的,下图中的白色鼠标的位置,相对于红色方框所指的蓝色控件的左上角在x方向距离90,y方向距离6,这个就是鼠标位置距离控件左上角的坐标,这个坐标可以通过控件的一些事件获取,比如MouseMove事件,该事件中,当鼠标在控件上移动时就会触发该事件,事件的MouseEventArgs 参数中可以通过e.Location属性来获取到鼠标距离控件左上角的坐标,代码如下。
在这里插入图片描述

private void pictureBox1_MouseMove(object sender, MouseEventArgs e){label3.Text = e.Location.ToString();}

4、鼠标的位置相对于屏幕左上角的坐标

我们鼠标在屏幕上移动时,距离屏幕左上角的坐标一直在变化的,这个属性可以通过Cursor类的Position属性获取,代码如下:

 this.label7.Text = Cursor.Position.ToString();

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 顶顶通呼叫中心中间件实现随时启动和停止质检(mod_cti基于FreeSWITCH)
  • 【Spring Boot】关系映射开发(二):一对多映射
  • 【git命令大全】
  • Vue 3 与 TypeScript:最佳实践详解
  • Android ViewPostImeInputStage输入事件处理
  • 【MindSpore学习打卡】应用实践-LLM原理和实践-基于MindSpore实现BERT对话情绪识别
  • 【机器学习】独立成分分析(ICA):解锁信号的隐秘面纱
  • 道路运输企业管理人员安全考核试题(附答案)
  • 如何在工作中开悟?
  • element 如何实现文件上传下载导出
  • 基于QT开发的反射内存小工具
  • OWASP ZAP
  • 低代码研发项目管理流程优化:提效与创新的双重驱动
  • 【Unity2D 2022:UI】制作主菜单
  • 昇思25天学习打卡营第1天|初步了解
  • 11111111
  • Android系统模拟器绘制实现概述
  • Laravel 中的一个后期静态绑定
  • Lucene解析 - 基本概念
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 产品三维模型在线预览
  • 动态魔术使用DBMS_SQL
  • 关于Flux,Vuex,Redux的思考
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 如何实现 font-size 的响应式
  • 使用权重正则化较少模型过拟合
  • 网络应用优化——时延与带宽
  • RDS-Mysql 物理备份恢复到本地数据库上
  • zabbix3.2监控linux磁盘IO
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • 移动端高清、多屏适配方案
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • ​什么是bug?bug的源头在哪里?
  • ​探讨元宇宙和VR虚拟现实之间的区别​
  • ‌‌雅诗兰黛、‌‌兰蔻等美妆大品牌的营销策略是什么?
  • ‌分布式计算技术与复杂算法优化:‌现代数据处理的基石
  • #565. 查找之大编号
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • $().each和$.each的区别
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (论文阅读30/100)Convolutional Pose Machines
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (一)项目实践-利用Appdesigner制作目标跟踪仿真软件
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • ***检测工具之RKHunter AIDE
  • .NET : 在VS2008中计算代码度量值
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .NET Core 成都线下面基会拉开序幕
  • .Net Web项目创建比较不错的参考文章
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?