アプリケーションで埋め込みフォームを使用していますが、次のようなことを試みていました。
設計時には、フォームは埋め込み/ドッキングについて何も知らない通常のフォームです。ButtonClick を使用すると、フォームの Show() メソッドを呼び出してフォームを表示できます。実行時に、フォームが別のフォームにドッキングされ、埋め込みフォームになることがあります。フォームを再度表示するためにボタンを押しても (現在は埋め込まれています)、埋め込みフォームを含むフォームに対して Show() を呼び出す必要があるため、何も起こりません。
埋め込みフォームの Show() メソッドが呼び出されたときに親フォームを強制的に表示するメソッドを探しています。Show() を呼び出す前に親フォームの存在を確認することでこれを処理できますが、この特定の処理を含めたくありません。
フォームがドッキングされたときに通知される親フォームでこの処理を行うことをお勧めします。
Show() メソッドは、Visible プロパティを true に設定するだけなので (RAD Studio ヘルプ)、メッセージが発生するとは思いません ...?
このようなことを実現する方法を知っていますか?
編集
プログラミングの問題というよりも設計上の問題だと思うので、アプリケーションに関する情報を掲載したいと思います。
アプリケーションは、接続されたハードウェアに適応するためにいくつかのプラグインを使用します。exe はドラッグ アンド ドック環境を提供し、ドッキング可能なフォームの基本クラスを含みます。プラグインには、ドッキングの実装に関する知識がありません。ドッキング可能なフォームを作成し、プラグインからフォームを埋め込むことで、プラグイン フォームはドッキング可能になります。これが、埋め込みフォームのメソッド Show() がどこかで呼び出されたときに表示される親フォームを取得したい理由です。