0

这个问题是关于一个工具提示,你可以很容易地实现它,以便
通过它的坐标跟踪鼠标位置对我来说唯一的问题是在将特定窗口设置为前景后添加跟踪坐标的能力......它不是一个表格,但是一个 3rd 方应用程序。

在 Visual Studio Windows 窗体上为我​​工作的代码是

ToolTip trackTip;

    private void TrackCoordinates()
    {
        trackTip = new ToolTip();
        this.MouseMove += new MouseEventHandler(Form1_MouseMove);
    }

    void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
    {
        String tipText = String.Format("({0}, {1})", e.X, e.Y);
        trackTip.Show(tipText, this, e.Location);
    }

//这是我在网上某处看到的代码,然后在谷歌搜索后又在 url 找到了 msdn 源代码:

msdn 源地址

因此,如果您愿意回答,问题仍然存在:我如何获取第 3 方的工具提示坐标(Vs winform 窗口除外)

4

2 回答 2

0

您需要使用以下其中一项(如本问题所述):

1.使用 Windows 窗体。添加对 System.Windows.Forms 的引用

public static Point GetMousePositionWindowsForms() 
{ 
    System.Drawing.Point point = Control.MousePosition; 
    return new Point(point.X, point.Y); 
} 

2.使用Win32

[DllImport("user32.dll")] 
[return: MarshalAs(UnmanagedType.Bool)] 
internal static extern bool GetCursorPos(ref Win32Point pt); 

[StructLayout(LayoutKind.Sequential)] 
internal struct Win32Point 
{ 
    public Int32 X; 
    public Int32 Y; 
}; 
public static Point GetMousePosition() 
{ 
    Win32Point w32Mouse = new Win32Point(); 
    GetCursorPos(ref w32Mouse); 
    return new Point(w32Mouse.X, w32Mouse.Y); 
} 
于 2012-04-12T23:11:54.713 回答
0

子类化目标窗口并监听WM_MOUSEMOVE消息。

或者

使用计时器并抓取鼠标屏幕坐标

于 2012-04-12T22:44:27.370 回答