2009-02-19 104 views
26

我使用Visual C#Express編寫Windows Form應用程序,並稱我爲老學校,但我不喜歡設計師。這是一個麻煩,並污染我的項目與大量不需要的文件,以及不必要的猴子生成的源代碼。在Visual Studio中禁用設計器?

請告訴我,有一種方法可以徹底關閉它。

回答

3

只需不添加「新窗體」,添加到項目新類,並從Form類繼承他。

+1

我覺得這個答案改變了我的生活。我現在可以用通常編寫Java的相同方式編寫C++/CLI表單應用程序,而無需使用C#。我從來沒有想過在沒有設計師的情況下使用C++/CLI,但它功能非常強大。 – Dmitry 2016-04-23 11:36:09

27

右鍵單擊項目文件並選擇打開並允許您設置打開文件類型的默認值。

+0

好的,謝謝,這是一個很大的幫助。我沒有意識到我可以設置文件的默認開啓者。每次右鍵單擊並選擇「查看代碼」是一個小小的麻煩。 – 2009-02-19 23:08:57

+0

這只是向我展示瞭如何擺脫Visual Studio 2012中的SQL Design視圖,並將其重新設置爲僅使用T-SQL編輯器打開它。謝謝,理查德從過去! – 2013-02-18 22:13:34

+0

這是對的,但要小心。如果你偶然打開設計師,那麼它可能會弄亂你的手寫代碼。 – 2016-10-02 05:44:57

0

如果你不想使用設計師,那麼不要使用它?

您可以從頭開始創建一個新的形式,沒有設計者通過創建一個新的空類生成的任何代碼,並讓從System.Windows.Forms.Form

那麼類繼承,VS.NET仍然可能會顯示您的類一個表單,如果你願意,你仍然可以在設計器中打開它。 (並放下它的控制)。

+0

問題是每次打開特定文件類型時默認打開的問題。 – Cephron 2014-02-11 22:00:45

84

在UI類之前添加一個[System.ComponentModel.DesignerCategory("")]屬性以避免雙擊時激活設計器。

請注意,包含文件頂部的System.ComponentModel然後僅添加屬性[DesignerCategory("")]將不起作用(至少在Visual Studio 2010/2013中不會)。您必須使用完整的,符合命名空間限定的屬性類型名稱。

2

Frederik, 當然你是對的,但不是一個事實。 (這是I.J想知道的) 只要從任何Component繼承,工作室就會嘗試在設計編輯器中打開它。這是Visual Studio的默認行爲。

如果您在解決方案資源管理器中雙擊一個文件,則會打開一個設計器。 因此,如果你總是從類組件繼承而來的這些奇怪的設計器,但是不包含任何可見的東西,那真的很煩人。

真的幫了我,唯一的辦法就是設置該屬性:[System.ComponentModel.DesignerCategory(「」)]

我不知道這=)很爽暗示!

我只是遇到了部分MainForm類的問題。然後大叫「重複屬性」 ......

在這裏所做的任何人知道的解決方案,以避免在某些局部類文件以在雙擊打開設計師(編譯上沒有重複的屬性錯誤?)


我想我發現了一個小錯誤,在VS2005中... 通過在部分窗體類上設置DesignerCategory-Attribute,保存解決方案資源管理器顯示一個圖標,標識文件爲ac#文件(無窗體) 。

然後我在該屬性之前放置了一個註釋(//) - 並且它始終在代碼視圖中打開該文件。在關閉並重新打開之後,它也作爲一個非設計形式部件存儲在內部。 即使重新打開完整的解決方案。

所以我認爲這是在解決方案或項目文件中的任何信息......

...我發現這個在.csproj的文件: ...

<Compile Include="GUI\VFormMain_Test.cs"> 
</Compile> 
<Compile Include="GUI\VFormMain_Theme.cs"> 
</Compile> 
<Compile Include="Core\VTTEnv.cs" /> 
<Compile Include="GUI\VFormMain.cs"> 
    <SubType>form</SubType> 
</Compile> 

...

工作室不時更新 - 然後它再次更新表單文件(doh)...好吧..但可能有一種解決方法來避免這種情況。


喀嚓... 最後編輯... 發現了一些:

http://social.msdn.microsoft.com/Forums/en-US/csharpide/thread/64c77755-b0c1-4447-8ac9-b5a63a681b78

(名字,你想不設計者開入了.Designer.cs文件)

(是的,你必須命名一些東西來切換它的LOL) 似乎工作。

5

其實,你在VS2010做的就是右鍵點擊cs文件,你希望在設計器中打開,選擇「打開方式...」選項,然後進行編輯CSHARP默認。請注意,表單視圖是您更改前的默認值。

相關問題