問題タブ [window-management]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
349 参照

c# - UWP ウィンドウの位置が変わったことを検出する方法

AppWindow ( https://docs.microsoft.com/en-us/uwp/api/windows.ui.windowmanagement.appwindow ) を使用して、UWP アプリの 2 つ目のウィンドウを作成しています。ユーザーがこのセカンダリ ウィンドウの場所を変更したとき (つまり、画面上でウィンドウをドラッグしたとき) を検出する必要があります。現在、次のイベントをリッスンしています。

  • AppWindow.Changed
  • UIElement.XamlRoot.Changed

ユーザーがウィンドウのサイズを変更したときは検出しますが、ウィンドウが単に移動したときは検出しません (まったく同じ幅と高さを維持します)。

私が聞くことができる別のイベントはありますか?

ところで、古い良いWindows.UI.Xaml.Windowにも同じことが当てはまります:その動き(サイズ変更ではなく)をリッスンできるイベントはありますか?

0 投票する
1 に答える
87 参照

.net - GetWindowPlacement の NormalPosition のみを使用して、フォームの位置とサイズを保存および復元します

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

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

からこの種の値を取得していますGetWindowPlacement:

私のフォーム/ウィンドウには最小化ボタンと最大化ボタンがありません。意図されたすべての目的のために、最小化/最大化するように設計されていないため、常に通常のウィンドウ状態に復元する必要があります。

NormalPositionしたがって、長方形WindowPlacementをアプリケーション設定に保存することだけを考えています。

フォームをロードするときに、設定からロードされたフィールドを使用してWindowPlacement構造を作成し、他の値をデフォルト ( 1、-1、-1 など)で埋めます。NormalPositionShowCmdMinPosition

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

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

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