如何让电缆拔下/重新插头不影响程序中的屏幕编号



这可能是一个愚蠢的问题,但我找不到任何信息。有什么方法可以向特定显示器显示特定表格?

我在C#中进行了Winform应用程序,我需要使其不受HDMI电缆的断开和重新连接的影响。我有3种表格(A,B和C(,并且需要始终在Monitora上显示A,在Monitorb上表格B,并在Monitalc上表格C。我目前正在分配每个监视器上的每个表单,例如

FormA.Location = Screen.AllScreens[0].WorkingArea.Location; //screen 0 = monitor A
FormB.Location = Screen.AllScreens[1].WorkingArea.Location; //screen 1 = monitor B
FormC.Location = Screen.AllScreens[2].WorkingArea.Location; //screen 2 = monitor C

这可以正常工作,直到我断开电缆并重新连接它们为止。有时,它不会影响程序,但是有时会断开电缆连接并重新连接电缆,更改了分配给每个监视器的屏幕号,并弄乱了屏幕配置。像A形式A在Monatec上显示。

似乎在硬件端分配了屏幕编号,但是是否有任何方法可以修复监视器形式的关系?谢谢您的帮助。

我恐怕这是Windows所做的,并且不容易避免。如果您有一个NVIDIA PRO图形适配器或支持它的另一个适配器,则可以设置图形驱动程序以从文件而不是从监视器中加载监视器EDID,而不是从监视器上锁定Windows,以思考监视器已永久连接。可能还有其他品牌也支持禁用监视器检测。

最新更新