Dot-Net

如何讓 WinForm Designer 完全忽略自定義控制項上的屬性?

  • April 8, 2010

這一定是一個常見問題解答,但我找不到重複的問題!

有很多不同的屬性可以控制 WinForm 設計器對自定義控制項的屬性所做的事情,我從來不清楚在這種情況下應該使用哪個屬性。

我在尋找:

  • 設計器不在網格中顯示屬性
  • 設計器不讀取屬性值
  • 設計器未將屬性設置為預設值
  • 例如,Designer 的行為就好像該屬性不存在一樣。
  • 如果在添加屬性之前已經完成了上述任一操作,設計師不會抱怨(很難!)

背景。

給我問題的程式碼是:

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

Winforms 設計者不應該觸及 FilterSets 屬性;它現在不可序列化,並且每次更改使用 eventListControl 的表單時,MsDev 都會崩潰!

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

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

引用自:https://stackoverflow.com/questions/2598733