vb.NET屏幕位置

vb.NET屏幕位置,vb.net,location,screen,Vb.net,Location,Screen,我正在使用多监视器设置。我知道你可以用Screen.AllScreens(x)来获得一个特定的屏幕,但是有没有办法确定哪个屏幕在哪个位置 即 屏幕0在右侧,屏幕1在左侧,屏幕2在中间 我试图在每个屏幕的左上角放置一个表单,我能想到的唯一方法是 Me.Location = New Point(-Screen.AllScreens(1).Bounds.Width, Screen.AllScreens(1).Bounds.Top) (假设屏幕1位于左侧) 有什么帮助吗 将它包装成某种循环,自动为每个

我正在使用多监视器设置。我知道你可以用Screen.AllScreens(x)来获得一个特定的屏幕,但是有没有办法确定哪个屏幕在哪个位置

屏幕0在右侧,屏幕1在左侧,屏幕2在中间

我试图在每个屏幕的左上角放置一个表单,我能想到的唯一方法是

Me.Location = New Point(-Screen.AllScreens(1).Bounds.Width, Screen.AllScreens(1).Bounds.Top)
(假设屏幕1位于左侧)

有什么帮助吗

将它包装成某种循环,自动为每个屏幕生成表单也会很神奇,但我自己可以处理。我只需要知道如何在每个屏幕的左上角定位


谢谢:3

正如我在另一个网站上提到的,如果我正确地理解了您的意思,那么像这样的事情应该按照您的意愿进行:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim number = 1

    For Each scr In Screen.AllScreens.OrderBy(Function(s) s.Bounds.Left)
        Dim f As New Form With {.Text = number.ToString(),
                                .StartPosition = FormStartPosition.Manual,
                                .Location = scr.Bounds.Location}

        f.Show()

        number += 1
    Next
End Sub

看你在两个网站上都很认真地回答我,谢谢你。工作完美:)无论出于何种原因,我都没有想到在边界上按左边的位置排列阵列。“看你在两个站点上都很彻底,都回答了我。”。是的,有时人们会忘记在哪里张贴问题,只检查一个地方而不是另一个地方,而且答案可能会帮助其他可能检查一个地方而不是另一个地方的人。而且,这意味着我可以在这两个地方获得代表积分。;-)