2010-04-08 44 views
10

這必須是常見問題解答,但我找不到重複的問題!如何讓WinForm Designer完全忽略自定義控件上的屬性?

有很多不同的屬性可以控制WinForm Designer在自定義控件上的屬性,我從來不清楚在這種情況下應該使用的屬性。

我要找:

  • Designer不網格顯示屬性
  • 設計師不讀的屬性值
  • 設計師不設置屬性爲默認值
  • 例如設計師的行爲好像屬性不存在。如果它已經做好了上面的一個之前添加的屬性
  • 設計師不抱怨(硬!)

背景。

這是給我的問題的代碼是:

this.eventListControl.FilterSets = 
    ((SystList<FilterSet>)(resources.GetObject("eventListControl.FilterSets"))); 

的FilterSets物業本來就不應該由設計師的WinForms感動;它現在不是可序列化的,並且每當使用eventListControl的表單發生更改時,MsDev都會崩潰!

+0

此外,ILMerge不正確改寫這一點,所以如果'FilterSets'是在得到了一個DLL合併後,這行代碼會拋出。 – 2011-05-24 12:12:03

回答

28

我認爲你可以使用[Browsable (false)][DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]

第二個屬性防止財產出現在InitializeComponent

+0

謝謝,它阻止desinger將它添加到新形式的InitializeComponents中,但是設計者仍然無法讀取已經擁有該控件的表單的資源文件,所以我必須手工編輯資源文件。 – 2010-04-08 09:40:29

相關問題