0

.NET Framework 4.6 と Windows フォームでは、タイトル バーがなく、最小化ボタンと最大化ボタンがなく、サイズ変更可能な (カスタム コードを使用) ボーダレス フォームがあります。

GetWindowPlacementSetWindowPlacementを使用して、フォームの場所とサイズを保存して復元したいと思います。

からこの種の値を取得しています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 など)で埋めます。NormalPositionShowCmdMinPosition

私が心配しているのは、ドキュメントからのこの引用です:

WINDOWPLACEMENT 構造体で使用される座標は、GetWindowPlacement および SetWindowPlacement 関数でのみ使用する必要があります。

私は心配する必要がありますか?のみを保存するという私の計画で、ある種の奇妙な動作を得ることができますNormalPositionか?

4

1 に答える 1