.NET Framework 4.6 と Windows フォームでは、タイトル バーがなく、最小化ボタンと最大化ボタンがなく、サイズ変更可能な (カスタム コードを使用) ボーダレス フォームがあります。
GetWindowPlacementとSetWindowPlacementを使用して、フォームの場所とサイズを保存して復元したいと思います。
からこの種の値を取得していますGetWindowPlacement
:
<WindowPlacement>
<Length>44</Length>
<Flags>0</Flags>
<ShowCmd>1</ShowCmd>
<MinPosition>
<X>-1</X>
<Y>-1</Y>
</MinPosition>
<MaxPosition>
<X>-1</X>
<Y>-1</Y>
</MaxPosition>
<NormalPosition>
<Left>949</Left>
<Top>839</Top>
<Right>1882</Right>
<Bottom>1054</Bottom>
</NormalPosition>
</WindowPlacement>
私のフォーム/ウィンドウには最小化ボタンと最大化ボタンがありません。意図されたすべての目的のために、最小化/最大化するように設計されていないため、常に通常のウィンドウ状態に復元する必要があります。
NormalPosition
したがって、長方形WindowPlacement
をアプリケーション設定に保存することだけを考えています。
フォームをロードするときに、設定からロードされたフィールドを使用してWindowPlacement
構造を作成し、他の値をデフォルト ( 1、-1、-1 など)で埋めます。NormalPosition
ShowCmd
MinPosition
私が心配しているのは、ドキュメントからのこの引用です:
WINDOWPLACEMENT 構造体で使用される座標は、GetWindowPlacement および SetWindowPlacement 関数でのみ使用する必要があります。
私は心配する必要がありますか?のみを保存するという私の計画で、ある種の奇妙な動作を得ることができますNormalPosition
か?