运行 VB.net 第二台显示器上的应用程序

Run VB.net app on second monitor

我是编码方面的新手,但我已经为我工作的计划做了简单的申请!!

我最近遇到了一个 "little" 我的应用程序的问题!

我构建了一个 Windows 表单应用程序,具有多个表单,运行 在双屏幕 CNC 上。 CNC 程序必须 运行 在主屏幕上以更高分辨率显示。我的应用程序 运行 在第二个屏幕上,它是 1024;768 的触摸屏。

问题本身是,如果我 运行 带有调试数据的代码 运行 随心所欲,在第二个屏幕上打开应用程序,然后在这个屏幕上打开所有下一个表单。如果我使用已发布的数据安装它,即使我将它们拖到第二个屏幕上,所有表格都会在主显示器上打开。在我关闭它们之后,它们 return 在主服务器上。

有没有一种方法可以在每个表单的开头放置一行代码,使所有表单都在辅助屏幕上打开。

当设置正常工作时,我将锁定屏幕设置,以确保没有人会弄乱这些设置。

请对我温柔一点,我对如何编码一无所知。我通过在网上阅读向自己学习!!

谢谢大家!!

像这样的东西应该将 window 定位在找到的第一个非主屏幕上的偏移量 100, 100 处。您可以根据需要调整位置 and/or 大小。

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim secondaryMonitor = Screen.AllScreens.FirstOrDefault(Function(x) Not x.Primary)
    If secondaryMonitor IsNot Nothing Then
        Dim newLocation = secondaryMonitor.Bounds.Location
        newLocation.Offset(100, 100) ' adjust as needed
        Me.Location = newLocation
        ' Also see Me.Size and Me.Bounds
    End If
End Sub

这对我有用:

Private Sub _MainForm_Move(sender As Object, e As EventArgs) Handles MyBase.Move
         ' preserve  me.Location.x  and  me.Location.y  here.
End Sub

Then, at program boot, restore:       me.Location.x  and  me.Location.y