我是编码的新手,但我为我的工作计划做了简单的应用!!
我最近遇到了一个应用程序的“小”问题!
我构建了一个Windows窗体应用程序,具有多种形式,可在双屏幕CNC上运行。 CNC程序必须以更高的分辨率在主屏幕上运行。我的应用程序在1024; 768的触摸屏的第二个屏幕上运行。
问题本身就是如果我运行带有调试数据的代码,一切都按我的意愿运行,在第二个屏幕上打开应用程序,并在此屏幕上打开所有下一个表单。如果我使用已发布的数据安装它,所有表单都会在主监视器上打开,即使我在第二个屏幕上拖动它们也是如此。在我关闭它们之后,它们返回主要部分。
有没有办法可以在每个表单的开头放置一个代码行,使所有表单在辅助屏幕上打开。
当设置正常工作时,我会锁定屏幕设置,以确保没有人会弄乱设置。
请温柔地对待我,我对如何编码没有任何形式。我通过网络阅读来学习自己!
谢谢大家!!
答案 0 :(得分:2)
这样的东西应该在找到的第一个非主屏幕上将窗口定位在偏移100,100处。您可以根据需要调整位置和/或尺寸。
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
答案 1 :(得分:0)
这对我有用:
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