2009-12-28 149 views
5

我有一個惱人的問題。有時Visual Studio在解決方案資源管理器中不顯示選項「視圖設計器」用於我的一些表單。它不顯示設計模式錯誤,只是不顯示使用設計器的選項。當發生這種情況時,我無法找出確切的案例。有沒有人對導致解決方案資源管理器這種行爲的原因有一些想法?Visual Studio表單設計師

+0

什麼版本的VS?如果是VS 2005,請確保您正在運行最新的SP。 – 2009-12-28 16:20:13

+0

是否正在嘗試使用可視繼承進行設計的任何形式?如果你打開代碼編輯器並按下F7,會發生什麼情況? – Rory 2009-12-28 16:20:31

+0

@Rory:你的意思是Shift + F7。 – SLaks 2009-12-28 16:21:12

回答

3

您的表單可能會繼承自定義表單類。

有些時候VS沒有意識到自定義類繼承Form。 (例如,如果解決方案沒有建立)。

嘗試重建解決方案。

如果您想要更精確的答案,請提供更多詳細信息。

+0

是的,它似乎是問題..將基類型更改爲Form,然後返回MyCustomDialog有幫助,但有沒有辦法讓VS分析我的表單是否爲表單? – ironic 2009-12-28 16:23:13

+0

更奇怪的是,MyCustomDialog位於庫中,在構建過程中很長時間沒有失敗。 – ironic 2009-12-28 16:27:35

+1

嘗試清理並重建解決方案,它始終用於解決此問題。 – Rory 2009-12-28 16:31:04

1

我曾經在VS 2003中遇到過這個問題。每次它發生時,我都會在記事本中打開.csproj文件,並將該類更改回「Form」。

0

我有這個問題,並找到了解決方案。不知何故,我的.csproj文件被損壞,並且丟失了XML中的一個子項。例如說我有一個用戶控件稱爲MyControl.cs,我在.csproj的損壞XML看起來像:

<Compile Include="MyControl.cs" /> 

我固定它,所以它現在讀取:

<Compile Include="MyControl.cs"> 
    <SubKey>UserControl</SubKey> 
</Compile> 

MyControl.cs倒像是(這只是爲了完整性):

public partial class MyControl : UserControl 
{ 
} 

做出更改並保存Visual Studio現在正確讀取我的控件並加載設計器。我不知道這個文件如何被破壞。

4

我也有這個問題,我修改了.csproj文件來修復它。 以我的.csproj文件I改性這行代碼:

<Compile Include="FormName.cs" /> 

有了這個代碼:

<Compile Include="FormName.cs"> 
    <SubType>Form</SubType> 
</Compile> 
5

如果源文件中的第一類是NOT的「部分類,這將發生「爲你的形式。在這種情況下,解決方案資源管理器中的文件類型圖標最初將顯示爲表單,但VS會在加載文件後將其更改爲「C#」代碼圖標,並從彈出菜單中刪除「視圖設計器」選項。至少在VS2015中,這可以通過註釋不合適的代碼並保存文件來解決,VS會在哪個時間恢復預期的表單圖標。

+0

這絕對是我的問題。好決定。 – 2017-02-12 14:35:39

0

如果文件中有多個類(對你不好意思),請確保Form類是文件中的第一個類。 (不要問我怎麼知道這個。)

相關問題