原文:VS编程,WPF中,获取鼠标相对于当前屏幕坐标的一种方法

版权声明:我不生产代码,我只是代码的搬运工。 https://blog.csdn.net/qq_43307934/article/details/82909383

此方法只是鼠标相对于当前屏幕的坐标数值,而不是鼠标相对于当前程序窗口的坐标值。

 效果

1、前台增加一个用于显示的文本控件

注意给控件命名


2、为整个界面定义鼠标移动事件

 

3、后台代码中增加如下代码:

        [DllImport("User32")]
public extern static void SetCursorPos(int x, int y); [DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool GetCursorPos(out POINT pt); public struct POINT
{
public int X;
public int Y;
public POINT(int x, int y)
{
this.X = x;
this.Y = y;
}
}

像这样

 

3、在鼠标移动事件中,增加代码

             POINT p = new POINT();
if (GetCursorPos(out p))//API方法
{
Textblock2.Text = string.Format("X:{0} Y:{1}", p.X, p.Y);
}

像这样

 

需要注意的是,虽然显示了鼠标对于电脑屏幕的坐标值,但是因为代码写了程序窗口的鼠标移动事件中,所以当鼠标在程序区域之外时,会因为无法触发这段代码而使坐标值无法更新,你可以后台定义一个定时器,将代码放在定时器中执行。

若不知如何定义定时器,可参见我的其它文章。

 

 

 

最新文章

  1. 如何用java自带的工具生成证书
  2. Linux Shell系列教程之(十六) Shell输入输出重定向
  3. 用命令访问D:\python学习\wendjia教程\aa.py
  4. JEvaluator Jscript.net
  5. mysql中int转varchar
  6. WFP: 读取XPS文件或将word、txt文件转化为XPS文件
  7. Python天天美味(15) - Python正则表达式操作指南(re使用)(转)
  8. WIN7 XP设置MTU,提升下载速度
  9. 如何升级cordova插件
  10. 【仿携程JQuery日期价格表】
  11. WebApi2官网学习记录---Cookie
  12. IE 中创建 子窗口 传值 与接收值 【window.showModalDialog】
  13. LeetCode OJ 189. Rotate Array
  14. Bootstrap中的datetimepicker用法,只看一眼就全懂了
  15. Java基础笔记2
  16. FPGA学习笔记(五)—— 组合逻辑电路功能的描述
  17. Bugku-CTF之速度要快
  18. Unity长连接
  19. 在excel中将缺失数据全部用0补齐
  20. 20155306 2016-2017-2 《Java程序设计》第十周学习总结

热门文章

  1. js替换数组中字符串实例
  2. Expo大作战(六)--expo开发模式,expo中exp命令行工具,expo中如何查看日志log,expo中的调试方式
  3. Expo大作战(十五)--expo中splash启动页的详细机制
  4. Python+Selenium笔记(七):WebDriver和WebElement
  5. SQL语句结合上下文查询(in查询)
  6. 转:.NET 面试题汇总(二)
  7. [Hive_1] Hive 基本概念
  8. MySQL基础之 恢复数据和数据库迁移
  9. win7 win10双系统开机系统引导
  10. .net core 入坑经验 - 1、await async