C# 在winforms中获取当前屏幕

C# 在winforms中获取当前屏幕,c#,winforms,screen,C#,Winforms,Screen,我试图在我的应用程序中获得当前屏幕,但我似乎总是获得主屏幕。我使用以下代码,其中此是应用程序中的某个控件 Screen.FromControl(this); 这也不起作用-Screen.FromHandle(句柄) 然而,当我使用主窗口手柄时,我得到了正确的屏幕。我认为这不是一个正确的方法,而且我认为这可能意味着隐藏着一个更大的问题 有人知道这是怎么发生的吗?使用Control.FindForm来获取主窗体怎么样?此代码的确切位置非常重要,在问题中完全不可见,过早地执行此操作是一个失败的过程。

我试图在我的应用程序中获得当前屏幕,但我似乎总是获得主屏幕。我使用以下代码,其中
是应用程序中的某个控件

Screen.FromControl(this);
这也不起作用-
Screen.FromHandle(句柄)

然而,当我使用主窗口手柄时,我得到了正确的屏幕。我认为这不是一个正确的方法,而且我认为这可能意味着隐藏着一个更大的问题


有人知道这是怎么发生的吗?

使用
Control.FindForm
来获取主窗体怎么样?此代码的确切位置非常重要,在问题中完全不可见,过早地执行此操作是一个失败的过程。当您使用Screen.FromPoint()时,它就变得可调试了,因此您必须找到正确的点,Control.PointToScreen()是必需的。使用
Control.FindForm
获取主窗体如何?此代码的确切位置非常重要,在问题中完全不可见,过早执行此操作是失败的。当您使用Screen.FromPoint()时,它将变得可调试,因此您必须找到正确的点,Control.PointToScreen()是必需的。