winfrom鼠标点击位置

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/sinat_27305053/article/details/78468103

//内容待整理


private void From1_MouseClick(object sender, MouseEventArgs e)

        {
            Point p = e.Location;
            string X = p.X.ToString();
            string Y = p.Y.ToString();
            MessageBox.Show(p.ToString(),X+Y);           

        }




API函数

[DllImport("user32.dll")]
        private static extern bool GetCursorPos(out Point p);
 
使用
            Point p;
            GetCursorPos(out p);



.Net封装好的方法

int x = Control.MousePosition.X;
int y = Control.MousePosition.Y;

用API方法

using System.Runtime.InteropServices;
Point p;
[DllImport("user32.dll")]
public static extern bool GetCursorPos(out Point pt);
private void timer1_Tick(object sender, EventArgs e)
{
GetCursorPos(out p);
label1.Text = p.X.ToString();//X坐标
label2.Text = p.Y.ToString();//Y坐标
}




可以用Control.MousePosition获得当前鼠标的坐标,使用PointToClient计算鼠标相对于某个控件的坐标,如下
Point screenPoint = Control.MousePosition;//鼠标相对于屏幕左上角的坐标
Point formPoint = this.PointToClient(Control.MousePosition);//鼠标相对于窗体左上角的坐标
Point contextMenuPoint = contextMenuStrip1.PointToClient(Control.MousePosition); //鼠标相对于contextMenuStrip1左上角的坐标

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页