如何让WinForm Designer完全忽略自定义控件上的属性?

Ian*_*ose 14 .net attributes properties winforms

这必须是常见问题解答,但我找不到重复的问题!

有许多不同的属性可以控制WinForm Designer对自定义控件上的属性所做的事情,我在这种情况下我应该使用的那个不清楚.

我在寻找:

  • Designer不会在网格中显示属性
  • Designer不会读取属性值
  • Designer不会将属性设置为默认值
  • 例如,Designer的行为就像财产不存在一样.
  • 设计师如果在添加属性之前已经完成了上述任何一项,就不会抱怨(很难!)

背景.

给我问题的代码是:

this.eventListControl.FilterSets = 
   ((SystList<FilterSet>)(resources.GetObject("eventListControl.FilterSets")));
Run Code Online (Sandbox Code Playgroud)

winforms设计师永远不应该触及FilterSets属性; 它现在不是Serializable,并且每次使用eventListControl的表单发生更改时MsDev都会失败!

cod*_*ger 32

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

第二个属性阻止属性出现 InitializeComponent