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