如何找到我的表单当前所在的屏幕的分辨率

发布于 2025-01-02 13:14:38 字数 408 浏览 1 评论 0 原文

我知道我可以轻松找到主屏幕的屏幕分辨率,但我想找到我的表单当前所在的屏幕的分辨率(这与我的设置不同,我有三个具有两种不同分辨率的屏幕)

我意识到表单可以跨越多个屏幕,因此我很高兴找到包含表单大部分区域/左上角的屏幕

有没有一种简单的方法可以做到这一点?

我可以枚举屏幕,但要弄清楚我的表单在其中的位置就很棘手:

    For Each scr As Screen In Screen.AllScreens
        If Me.Left > scr.WorkingArea.Left AndAlso Me.Left < (scr.WorkingArea.Left + scr.WorkingArea.Width) Then 'etc

        End If
    Next

I know I can find the screen resolution of the Primary screen easily, but I want to find the resolution of the screen that my form is currently sitting in (this is not the same on my setup I have three screens with two different resolutions)

I appreciate that the form could span more than one screen so I would be happy with finding the screen that contains the most area of the form/the top left corner

Is there a simple way to do this?

I can enumerate the screens, but then working out where my form is sitting within this is tricky:

    For Each scr As Screen In Screen.AllScreens
        If Me.Left > scr.WorkingArea.Left AndAlso Me.Left < (scr.WorkingArea.Left + scr.WorkingArea.Width) Then 'etc

        End If
    Next

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

天冷不及心凉 2025-01-09 13:14:38

我可以枚举屏幕,然后找出我的表单在哪里
坐在里面很棘手

。Net为此提供了内置方法

看看Screen.FromControl

返回值

类型:System.Windows.Forms.Screen 用于显示的屏幕
包含指定控件的最大区域。在多个
没有显示器包含控件的显示环境,
返回最接近指定控件的显示。

I can enumerate the screens, but then working out where my form is
sitting within this is tricky

.Net provides built-in method for this

Take a look at Screen.FromControl

Return Value

Type: System.Windows.Forms.Screen A Screen for the display that
contains the largest region of the specified control. In multiple
display environments where no display contains the control, the
display closest to the specified control is returned.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文