我的应用程序中的
Windows正在弹出屏幕边缘,这当然是
一个问题,因为有些窗口是模态的,不能被解雇(你甚至不知道它们在那里).
我正在使用TurboPower Orpheus组件来记住每个表单的位置和大小,然后在再次显示表单时恢复它.它将大小和位置保存在INI文件中.
我该怎么做才能防止窗户出现在屏幕的一侧?
如果您使用多个
显示器然后断开连接,例如取消对笔记本电脑的连接时,会发生这种情况.或者,如果您将笔记本电脑停靠在具有更高分辨率的屏幕上.或者使用远程桌面等.
解决方法是通过健全性检查来覆盖“记住我的位置”行为,看看左边的宽度是否超过屏幕的宽度(Screen.Monitors数组,实际上 – 谢谢你们),反之亦然.
理想情况下,你通过减去差异来“碰撞”,因此你正在对抗窗口想要跨越的边缘.
另外,看看Orpheus是否有更新可以解决这个问题.如果没有,您可以获取源,进行更正(可选),并将其贡献给项目.我记得这是OSS.