1

メインフォーム 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があるかもしれません。

少し早いですがお礼を。

4

1 に答える 1