VB.NET在不同的监视器上显示所有窗体
我正在尝试将我的3个窗体添加到3个监视器中,但我似乎无法显示其他2个窗体,我只能在第二个监视器上显示窗体1。这是我代码中的错误语法吗VB.NET在不同的监视器上显示所有窗体,vb.net,Vb.net,我正在尝试将我的3个窗体添加到3个监视器中,但我似乎无法显示其他2个窗体,我只能在第二个监视器上显示窗体1。这是我代码中的错误语法吗 Dim numberofmonitors As Integer = Screen.AllScreens.Length If numberofmonitors > 1 Then Me.Bounds = Screen.AllScreens(1).Bounds ElseIf numberofmonitor
Dim numberofmonitors As Integer = Screen.AllScreens.Length
If numberofmonitors > 1 Then
Me.Bounds = Screen.AllScreens(1).Bounds
ElseIf numberofmonitors > 2 Then
Me.Bounds = Screen.AllScreens(1).Bounds
Form2.Bounds = Screen.AllScreens(2).Bounds
Form2.Show()
ElseIf numberofmonitors > 3 Then
Me.Bounds = Screen.AllScreens(1).Bounds
Form2.Bounds = Screen.AllScreens(2).Bounds
Form2.Show()
Form3.Bounds = Screen.AllScreens(3).Bounds
Form3.Show()
End If
我也尝试这个命令
Dim myScreens() As Screen = Screen.AllScreens
If (myScreens.Length = 3) Then
'Position form 1 in the middle of screen 1
Me.Left = myScreens(0).WorkingArea.Width / 2 - Me.Width / 2
Me.Top = myScreens(0).WorkingArea.Height / 2 - Me.Height / 2
'Position the top left corner of form 2 in the middle of screen 2
Dim myForm2 As New Form2
myForm2.Show()
myForm2.Left = myScreens(0).Bounds.Width + myScreens(1).WorkingArea.Width / 2
myForm2.Top = myScreens(1).WorkingArea.Height / 2
Dim myForm3 As New Form2
myForm3.Show()
myForm3.Left = myScreens(0).Bounds.Width + myScreens(2).WorkingArea.Width / 3
myForm3.Top = myScreens(2).WorkingArea.Height / 3
End If
但是问题是,这个命令是Form3没有显示到我的第一个监视器/左侧监视器,但是主窗体显示到我的中间监视器,Form2显示到我的右侧监视器
Me.Bounds = Screen.AllScreens(0).Bounds
Me.StartPosition = FormStartPosition.Manual
Form2.Bounds = Screen.AllScreens(1).Bounds
Form2.Show()
Form2.StartPosition = FormStartPosition.Manual
Form3.Bounds = Screen.AllScreens(2).Bounds
Form3.StartPosition = FormStartPosition.Manual
Form3.Show()
所以我做了这个命令,有人帮我重新编辑谢谢大家看着你的第一个狙击手,也许会改变你陈述的顺序。例如,由于3大于1,可能所有大于1的都满足第一个标准,并且没有机会大于2或大于3@Hursey它现在显示,但form2和form3显示在同一个监视器上(中间监视器)