我正在尝试保存/恢复System::Windows::Forms::Form
的窗口大小,状态和位置,并希望确保如果该窗口先前位于另一台显示器上,并且仅在使用snogle监视器时启动应用程序是可用的,它将自己放在屏幕上。
那么如何确定当前桌面大小以及我的应用程序是否超出范围?
答案 0 :(得分:4)
实际上,最好的解决方案是在user32.dll中使用本机方法GetWindowPlacement和SetWindowPlacement。这些会自动处理所有边缘情况。
可以在http://jake.ginnivan.net/2010/04/remembering-wpf-windows-position-2/找到使用它们的示例WPF实现。从中可以为WinForms执行相同的操作。
答案 1 :(得分:3)
你看过Screen班了吗?
Screen.WorkingArea
属性将为您提供显示器的桌面大小。