2013-02-26 132 views
1

我正在使用Visual Studio 2010,當我創建表單時,我得到一個FormName.Designer.cs文件,其中包含所有自動生成的代碼。* .Designer.cs文件丟失

這正是然而,我想要的東西,當我做到以下幾點:

  1. 創建一個空的類。
  2. 子類System.Windows.Forms.Control
  3. 添加一個System.Windows.Forms.ImageList給設計師。
  4. 將圖像添加到設計器中的ImageList中。

所有自動生成的代碼都被丟棄在我的類文件中,並且我沒有收到*.Designer.cs文件。

如何讓VS始終使用*.Designer.cs文件?


更新

聲明一個類部分和子類用戶控件是不夠的。當我創建一個新的Item時,我不得不選擇「UserControl」,然後我得到了一個designer.cs文件。

+0

VS只會創建一個,如果它是該項目模板的一部分。沒有測試過,但我知道如果你手動創建一個設計器文件(如果一切順利的話)會摺疊到相關的父文件中,在這種情況下它應該使用該文件。 – 2013-02-26 23:12:00

+1

如果你創建一個空類(步驟1),然後從'Control'(步驟2)派生,你怎麼突然有一個'designer.cs'文件來添加一個'ImageList'控件? VS通常不會創建設計器文件,除非您選擇添加新的表單。 – 2013-02-26 23:16:52

+0

@sneakthief,它不是創建designer.cs文件,這是問題。我要一個。我有一個設計視圖,我可以從工具箱中拖動控件,但沒有designer.cs文件。 – Jay 2013-02-26 23:23:48

回答

4

這是正常的,設計者在VS2005之前版本的Visual Studio中工作的方式,版本尚不支持部分類。您只能從Form或UserControl 派生的類獲取單獨的Designer.cs文件,並使用partial關鍵字聲明它們。

不是100%確定是什麼原因,但它肯定與Control類的非常簡單的設計器有關。 Form和UserControl的設計者更有趣。

沒有什麼實際出錯,所以這不是一個真正的問題。對於降壓來說很少有爆炸,尤其是當您創建自定義控制時,實際上需要另一個組件或控件是非常罕見的。讓「屬性」窗口工作起來很方便,但根據我個人的經驗,當您在「解決方案資源管理器」窗口中雙擊該類時,默認情況下無法獲取設計器頁面。我失去了數次我大聲喊叫「糟糕!」的次數在機器上。