ウィンドウのサイズ、状態、および位置を保存/復元しようとしてSystem::Windows::Forms::Form
いますが、ウィンドウが以前に別のモニターにあり、snogle モニターのみが利用可能なときにアプリが起動された場合、それ自体がどこかに配置されることを確認したいと考えています画面上で。
では、現在のデスクトップ サイズと、アプリケーションが範囲外かどうかを判断するにはどうすればよいでしょうか?
ウィンドウのサイズ、状態、および位置を保存/復元しようとしてSystem::Windows::Forms::Form
いますが、ウィンドウが以前に別のモニターにあり、snogle モニターのみが利用可能なときにアプリが起動された場合、それ自体がどこかに配置されることを確認したいと考えています画面上で。
では、現在のデスクトップ サイズと、アプリケーションが範囲外かどうかを判断するにはどうすればよいでしょうか?
実際には、user32.dll でネイティブ メソッドのGetWindowPlacementとSetWindowPlacementを使用するのが最善の解決策です。これらは、すべてのエッジ ケースを自動的に処理します。
それらを使用した WPF 実装のサンプルは、http://jake.ginnivan.net/2010/04/remembering-wpf-windows-position-2/にあります。そこから、WinForms に対して同じことができます。
Screenクラスを見たことがありますか?
このScreen.WorkingArea
プロパティは、ディスプレイのデスクトップ サイズを示します。