2011-11-11 51 views
6

我有使用VS2008設計器從Windows.Form類派生的類A.當我雙擊Visual Studio解決方案資源管理器中的文件名時,表單設計器將打開。這是所需的行爲。在Visual Studio 2008中禁用派生類的設計器

我有第二個B類,從A(手動)派生。這個類是純代碼 - 它增加了一些功能,但表單是相同的 - 但是如果我在Visual Studio Solution Explorer中雙擊它的文件名,它將打開表單設計器。 這是不想要的行爲,特別是因爲我需要生成類似的派生類C-Z。

是否有強制文件始終在代碼編輯器中打開的方法?我知道兩項擬議的解決方法:

  1. 給B級屬性:[System.ComponentModel.DesignerCategory(「」)]

    這似乎根據各種帖子在過去的工作,但對我的情況似乎沒有任何影響。 VS環境仍嘗試爲該類打開一個表單設計器。

  2. 重命名源文件meaningfulname.Designer.cs

    這...好,它只是不漂亮,是嗎?

解決方案(1)是否仍然有效?如果是這樣,我可能會做錯什麼?

或者還有其他解決方案嗎?

回答

9

嘗試使用[System.ComponentModel.DesignerCategory("Code")]代替。

+0

我也試過,但沒有成功。 B被設置爲從A派生,環境將其歸類爲GUI類。刪除基類,然後切換回來。 – MZB

+1

@MZB:看起來您必須在屬性中使用完全限定名稱,您確定您正在執行此操作嗎?否則,我沒有建議。 –

+1

天才,先生!你是對的。導入System.ComponentModel後,我沒有使用完全限定的路徑。一個奇怪的微軟漏洞... – MZB

相關問題