• C# 设置鼠标光标位置


    C# 设置鼠标光标位置

    using System.Drawing;
    using System.Runtime.InteropServices;
    
    namespace ZB.QueueSys.Common
    {
        public class MouseHelper
        {
            private static MouseHelper instance;
            public static MouseHelper Instance
            {
                get
                {
                    if (instance == null) instance = new MouseHelper();
                    return MouseHelper.instance;
                }
            }
    
            /// <summary>
            /// 引用user32.dll动态链接库(windows api),
            /// 使用库中定义 API:SetCursorPos 
            /// </summary>
            [DllImport("user32.dll")]
            private static extern int SetCursorPos(int x, int y);
            /// <summary>
            /// 移动鼠标到指定的坐标点
            /// </summary>
            public void MoveMouseToPoint(Point p)
            {
                SetCursorPos(p.X, p.Y);
            }
            /// <summary>
            /// 设置鼠标的移动范围
            /// </summary>
            public void SetMouseRectangle(Rectangle rectangle)
            {
                System.Windows.Forms.Cursor.Clip = rectangle;
            }
            /// <summary>
            /// 设置鼠标位于屏幕中心
            /// </summary>
            public void SetMouseAtCenterScreen()
            {
                int winHeight = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Height;
                int winWidth = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Width;
                Point centerP = new Point(winWidth / 2, winHeight / 2);
                MoveMouseToPoint(centerP);
            }
    
        }
    }
    
    
    调用测试如下:
                int y = Screen.PrimaryScreen.WorkingArea.Height - 180;
                int x = Screen.PrimaryScreen.WorkingArea.Width - 180;
                Point p = new Point(x, y);
                MouseHelper.Instance.MoveMouseToPoint(p);    
    

    C#获取指定控件所在屏幕的位置

             int x = this.dgvList.Location.X;
                int y = this.dgvList.Location.Y;
                Point p = new Point(x, y);
                Point pp = this.dgvList.PointToScreen(p);
                MouseHelper.Instance.MoveMouseToPoint(pp);
    

      

      

  • 相关阅读:
    Manjaro 更新vim插件或者系统后 YCM失效
    UVA 10635 Prince and Princess
    HDU 4489 The King's Ups and Downs
    HDU 1542 矩形面积并
    POJ 2528 Mayor's poster
    读 CSI讲义 费马小定理
    JavaWeb——Servlet开发2
    JavaWeb——Servlet开发1
    LeetCode——264. Ugly Number II
    LeetCode——540. Single Element in a Sorted Array
  • 原文地址:https://www.cnblogs.com/YYkun/p/12054381.html
Copyright © 2020-2023  润新知