メインフォーム Form1(Winform) を持つ App1 があります。Form1 は非モーダル フォーム Form2 を起動します。Form2 は、モーダル ダイアログ DL1 を表示するクラス ライブラリ CL1 を使用します。
Form2 が表示されてから DL1 が表示されると、DL1 の位置は Form2 の上にあります。
Form2 を表示した状態で、別の画面にドラッグして位置を変更すると、表示される DL1 が Form2 の元の位置 (ドラッグする前の位置) の上に表示されます。Form2が動いてもDL1の位置を合わせられるようにしたい。
私はいくつかの調査を行いましたが、まだ確実な解決策はありません。この問題については、ここで議論できればと思っています。
基本的に、DL1 にはその親の場所が必要です。親はクラス ライブラリなので、おそらく DL1 は何らかの Windows アルゴリズムを使用して表示されると思われます。
Form2の場所を閉じて、場所が変わるたびに場所を保存してみました。DL1の起動時に使用したいと考えています。うまくいくと思いますが、ダイアログまたはメッセージボックスごとに登録して維持する必要があります。
ちなみに、CL1を使ったApp2とApp3があるかもしれません。
少し早いですがお礼を。