フォーム全体が画面に表示されるかどうかを詳しく説明しようとしています。これを明確にするために:フォームが別のフォームによって部分的または完全に隠されているかどうかは関係ありません。フォームが完全に画面に表示されているかどうかを知りたいだけです。
Windowsでは、フォームを移動して、途中で非表示にすることができます。これは、モニターの実際の境界を超えて移動できるためです。(さらに左、右、または下にあります。)それが事実であるかどうかを簡単に確認するにはどうすればよいですか?
私ができると思ったのは、フォームがの範囲内にあるかどうかを確認することですSystemInformation.VirtualScreen
。ここでの問題は、仮想画面のすべてのピクセルが実際に表示されるわけではないということです。もちろん、これは次の場合に機能しますSystemInformation.MonitorCount = 1
それでも私はこれに本当に満足していません。