zoukankan      html  css  js  c++  java
  • 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);
    

      

      

  • 相关阅读:
    最近想读的书想做的事
    syslogng 正确配置udp接受端口
    (转)iPhone重绘机制drawRect
    .Net工具整理
    用系统的网格还是用自己的网格
    将主关键字加强为适应多个
    onblur与onbeforedeactivate的区别
    模式窗口中无法转向
    实现获取客户端的MAC地址(3)
    onkeypress、onkeydown、onkeyup三事件的区别
  • 原文地址:https://www.cnblogs.com/YYkun/p/12054381.html
Copyright © 2011-2022 走看看