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

时间:2012-02-02 11:36:09

标签: c# vb.net winforms screen-resolution multiple-monitors

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

我很欣赏该表单可以跨越多个屏幕,所以我很高兴找到包含表单大部分区域/左上角的屏幕

有一种简单的方法吗?

我可以枚举屏幕,但是然后确定我的表格所处的位置是非常棘手的:

    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

1 个答案:

答案 0 :(得分:2)

  

我可以枚举屏幕,但然后确定我的表格   坐在这里很棘手

.Net为此提供了内置方法

查看Screen.FromControl

  

返回值

     

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