我在VB.Net中有一個多項目解決方案。我有一個自定義的表單,其他表單可以繼承。它在一個名爲「CustomForm」的獨立項目中,沒有特殊的圖形效果,它與通用的Windows窗體相同,只是以不同的方式處理關閉。我有一個名爲Form1的名爲「TestProject1」的項目,它繼承了CustomForm。在第三個項目「TestManager」中,可以從TestProject1添加Form1的實例,並將其所有權設置爲TestManager。我有這樣的設置與內部TestManager中以下代碼:'form'是'項目'中的一種類型,不能用作表達式
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。 我輸入代碼的時候顯示這個錯誤,所以我甚至無法構建項目。
這是編譯時錯誤嗎?如果是這樣,它必須來自其他地方,你實際上有'Form1'被使用。你能發佈更多相關的代碼嗎? –
增加了更多信息,如果它不夠,請告訴我。 – TheRyan722
您無法將'TestProject1.Form1'傳遞給'CreateForm()'。您需要創建一個類型爲TestProject.Form1的對象,然後傳遞該對象。 –