如何在桌面上获得光标坐标,而不是在表单上使用C#

如何在桌面上获得光标坐标,而不是在表单上使用C#,c#,winforms,cursor-position,C#,Winforms,Cursor Position,我所发现的一切只有在光标位于表单内部时才起作用。如何在屏幕上的任何位置找到光标的坐标? 仅当光标位于窗体内时,此选项才起作用: 以下是获取所有屏幕边界的方法 // For each screen, add the screen properties to a list box. foreach (var screen in System.Windows.Forms.Screen.AllScreens) { listBox1.Items.Add("Device Na

我所发现的一切只有在光标位于表单内部时才起作用。如何在屏幕上的任何位置找到光标的坐标? 仅当光标位于窗体内时,此选项才起作用:

以下是获取所有屏幕边界的方法

// For each screen, add the screen properties to a list box.
    foreach (var screen in System.Windows.Forms.Screen.AllScreens)
    {
        listBox1.Items.Add("Device Name: " + screen.DeviceName);
        listBox1.Items.Add("Bounds: " + 
            screen.Bounds.ToString());
        listBox1.Items.Add("Type: " + 
            screen.GetType().ToString());
        listBox1.Items.Add("Working Area: " + 
            screen.WorkingArea.ToString());
        listBox1.Items.Add("Primary Screen: " + 
            screen.Primary.ToString());
    }
从文件中

正如其他人所说,要在屏幕上获取点,您可以使用
游标位置


基本上,您需要阅读屏幕对象上的所有文档。

要获取鼠标屏幕坐标:

public static Point GetMouseScreenPosition()
{
    return Control.MousePosition;
}

我的问题是,我使用了一个在表单之外不起作用的MouseMove事件。使用计时器解决了此问题。

屏幕。FromPoint(Cursor.Position)
Cursor.Position
提供当前屏幕中鼠标指针的坐标。如果有多个显示器,则辅助屏幕中的指针坐标相对于主屏幕坐标(因此,该位置可以在
X
Y
中显示负值)。请参见此处有关