微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 在双显示器设置的同一台显示器上关闭并打开表格

我一直在环顾四周,发现这两篇文章

> Restoring Window Size/Position With Multiple Monitors
> C#: How to make a form remember its Bounds and WindowState (Taking dual monitor setups into account)

问题是这些文章是在我的问题的球场,但我不能使用它,因为我看到它(除非我使我的解决方案真的很复杂).虽然文章谈到在完全关闭应用程序时恢复表单,但这并不是我想要完成的.

我正在做的是在同一个正在运行的应用程序中关闭并打开相同的表单.当发生这种情况时,我希望它具有与我关闭时相同的确切位置,状态和大小.这很简单,因为我可以从表单对象中保存位置,状态和大小,将其丢弃并将旧值应用于我的新表单.这样可行,但如果我在监视器2上有一个最大化窗口,并且关闭/打开功能运行,它将打开监视器1上最大化的窗体.

在上面的情况下,有没有简单的方法将它保存在监视器2上,或者我是否需要深入了解复杂的库?

解决方法

如果我是你,我会认为你的问题是这些链接问题的简单扩展,唯一的变化是你的应用程序没有被关闭 – 只有窗口是(所以你不需要将这些信息保存到磁盘,把它留在记忆中).

原因是用户可以(并且最终其中一个可能会)在应用程序运行时更改显示配置(显示数量,显示位置等等)(例如,笔记本电脑用户拔出外部屏幕),所以如果你不要考虑到这一点,你最终会将你的窗户放在屏幕上,用户无法访问它们.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐