• 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);
    

      

      

  • 相关阅读:
    span里设置高度
    Tensorflow2.0语法
    Python-OpenCV中的filter2D()函数
    解决安装tensorflow等速度慢,超时
    keras绘图之pydot和graphviz的导入( pydot` failed to call GraphViz)
    天天向上
    time库
    PythonDraw及turtle库
    TempComvert及-eval的用法
    百分号字符串拼接
  • 原文地址:https://www.cnblogs.com/YYkun/p/12054381.html
Copyright © 2020-2023  润新知