开发工具:VS2010;.net framework 3.5

步骤:

1、打开VS2010

2、新建WinForm项目

3、窗体放一个标签Lable控件显示文字信息,一个定时器Timer控件10ms间隔循环检查鼠标坐标是不是靠近窗口,是:让窗口跑,否:什么也不做

4、Timer控件Tick事件下输入主要代码

5、完成

重点:获取屏幕尺寸;获取窗口相对屏幕位置;获取鼠标相对屏幕的坐标

一、程序运行截图:

二、主要代码:

private void timer1_Tick(object sender, EventArgs e)

{

Rectangle ScreenArea = Screen.GetWorkingArea(this);//获取屏幕大小

int margin = 30;

int border = 50;

int x = Control.MousePosition.X;//鼠标相对屏幕坐标

int y = Control.MousePosition.Y;//鼠标相对屏幕坐标

int left = this.DesktopLocation.X;//窗口相对屏幕坐标

int right = this.DesktopLocation.X + this.Width;

int top = this.DesktopLocation.Y;//窗口相对屏幕坐标

int bottom = this.DesktopLocation.Y + this.Height;

//鼠标到窗体附近(margin个象素)

if (x > left - border && x < right + border && y > top - border && y < bottom + border)

{

this.Top += (y > top ? -margin : margin);

if (this.Top > ScreenArea.Height || this.Bottom < 0)

{

this.Top = ScreenArea.Height / 2;

}

this.Left += (x > left ? -margin : margin);

if (this.Left > ScreenArea.Width || this.Right < 0)

{

this.Left = ScreenArea.Width / 2;

}

}

}

三、提示:

查看操作实录视频请关注“业余码农说”,查看发布的同名视频即可

mfc获取鼠标在其他窗口中坐标_C井编程,稍加修改,将之前“会跑的按钮”改成“会跑的窗口”...相关推荐

  1. pandas计算滑动窗口中的最小值实战(Rolling Minimum in a Pandas Column):计算单数据列滑动窗口中的最小值、计算多数据列滑动窗口中的最小值

    pandas计算滑动窗口中的最小值实战(Rolling Minimum in a Pandas Column):计算单数据列滑动窗口中的最小值.计算多数据列滑动窗口中的最小值 目录

  2. pandas计算滑动窗口中的最大值实战(Rolling Maximum in a Pandas Column):计算单数据列滑动窗口中的最大值、计算多数据列滑动窗口中的最大值

    pandas计算滑动窗口中的最大值实战(Rolling Maximum in a Pandas Column):计算单数据列滑动窗口中的最大值.计算多数据列滑动窗口中的最大值 目录

  3. pandas计算滑动窗口中的中位数实战(Rolling Median of a Pandas Column):计算单数据列滑动窗口中的中位数、计算多数据列滑动窗口中的中位数

    pandas计算滑动窗口中的中位数实战(Rolling Median of a Pandas Column):计算单数据列滑动窗口中的中位数.计算多数据列滑动窗口中的中位数 目录

  4. 获取鼠标点击位置的坐标

    获取点击的坐标有三种情况 获取在可视区域的坐标 获取在文档页面的坐标 获取在电脑屏幕的坐标 一:获取在可视区域的坐标 e.clientX  : 获取距离页面左边的距离 e.clientY :距离页面可 ...

  5. html 获取鼠标在canvas上的坐标,html5-canvas 检测鼠标在画布上的位置

    示例 本示例将说明如何获取鼠标相对于画布的位置,例如(0,0)HTML5 Canvas的左上角.的e.clientX和e.clientY将获得相对于文档的顶部位置的鼠标,来改变这种是基于画布的顶部,我 ...

  6. c语言中堆栈_C语言编程中的堆栈

    c语言中堆栈 A stack is a linear data structure, collection of items of the same type. 堆栈是线性数据结构 ,是相同类型的项目 ...

  7. cad坐标归零lisp_批量除一个数的lisp,请高手改成保留成设置小数位置。

    我有一个在cad里批量除以一个数的LISP.其中<(setq newr (rtos (/ (atof old0) s0) 2 1))>的1就是决定小数点后保留1位的.请高手改一下,能否增加 ...

  8. (一)MFC读取并显示一幅位图图像,并获取鼠标点击位置的像素坐标和灰度值

    题目是老师布置的一道作业题,要求用C或C++完成,但不能用VTK/Opencv等软件包,经过很多摸索之后实现了该功能,后续可能还有其他功能要实现,所以先写一篇博客记录下,一方面是方便自己以后使用,另一 ...

  9. 3D视图中获取鼠标所在位置

    在3D视图中,经过旋转.缩放.平移之后,任然可以获取鼠标位置对应的真实坐标. 思路:获取OpenGL模型矩阵和投影矩阵, 对鼠标位置信息进行反投影计算. 主要函数: glReadPixels 通过深度 ...

最新文章

  1. java.lang.IllegalMonitorStateException 异常出现原因
  2. 拓扑排序(字典序最小,字典序最小)
  3. 查找DetailsView1数据控件中的数据
  4. python的scrapy框架的安装_Python3环境安装Scrapy爬虫框架过程及常见错误
  5. jena dataset 增删改查
  6. 【ZJOI2015】幻想乡战略游戏【点分树】【带权重心】
  7. 接口隔离原则_设计模式的三大分类及六大原则
  8. C和汇编混合编程---栈平衡
  9. 飞鸽传书 宣传单和电话说辞
  10. php开发简易论坛教程,[php] 我的微型论坛的简单教程[已完成]第3/8页
  11. 洛谷 P2712 摄像头
  12. Tomcat的工作模式
  13. 关于UnityHub更换位置后找不到编辑器以及登录界面白屏的问题
  14. 1602-LiquidCrystal库
  15. 解决电脑低俗弹窗广告
  16. 关于人工智能的天马行空
  17. 2019年云计算发展趋势,今年十大云计算趋势
  18. 笔记本上怎么怎么暂停cmd打印窗口
  19. 突然间思考PID 有意思的地方-为什么说开环控制最优这句话也对也不对
  20. 一款界面友好的思维导图软件MindMaster

热门文章

  1. js模仿flash写字动画
  2. Linux常用下载软件
  3. Linux 内核超时导致虚拟机无法正常启动
  4. JavaWeb学习总结(一)——JavaWeb开发入门(转载)
  5. #20145238荆玉茗《网络对抗》-逆向及Bof进阶实践
  6. 程序员们的时间管理法则
  7. [Delphi] Webbroker ISAPI 示例说明
  8. Struts2 单个文件上传/多文件上传
  9. MVC在filter中如何获取控制器名称和Action名称
  10. Spark在集群中的安装