VB.Net でマルチ プロジェクト ソリューションを使用しています。他のフォームが継承できるカスタムメイドのフォームがあります。「CustomForm」と呼ばれる別のプロジェクトにあり、特別なグラフィック効果はありません。一般的な Windows フォームと同じで、閉じる処理が異なるだけです。CustomForm を継承する Form1 という名前のフォームを含む "TestProject1" というプロジェクトがあります。3 番目のプロジェクト「TestManager」では、TestProject1 から Form1 のインスタンスを追加し、その所有権を TestManager に設定できます。TestManager 内で次のコードを使用してこのセットアップを行いました。
Public Shared Sub CreateForm(ByVal frm As CustomForm.CustomForm)
frm.Owner = TestManager.TestManager
frm.Show()
End Sub
ただし、次のエラーが表示されます。「Form1」は「TestProject1」のタイプであり、式として使用できません。
編集:詳細:
現在 Form1 には何もありません。TestManager を、別のプロジェクトのフォームが追加されるデスクトップとして想像してみてください。TestManager は TestProject1 を参照し、上記のメソッドを利用するコード CreateForm(TestProject1.Form1) を使用しました。ここで、form1 は CustomForm を参照して継承します。コードを入力した瞬間にこのエラーが表示され、プロジェクトをビルドすることさえできません。