我在我的项目中使用Yet Another TabControl - 它是定制的,开源的TabControl,支持设计师。在解决了一些问题之后,我偶然发现了一个我不知道如何解决的问题。
当我运行我的应用程序时,YATabControl将选择我在设计器中选择的相同选项卡 - 这不是我想要的(我宁愿从第一个选项卡开始)并且在应用程序运行时我无法浏览选项卡,因为它试图在每次更改选项卡时保存属性“SelectedIndex”。
它设置在designer~onclick上使用:
RaiseComponentChanging( TypeDescriptor.GetProperties( Control )[ "SelectedIndex" ] );
RaiseComponentChanged( TypeDescriptor.GetProperties( Control )[ "SelectedIndex" ], oi, i );(old index, index).
我在想 - 是否有办法禁止设计师设置属性的运行时值?
答案 0 :(得分:4)
我查看了源代码(没有下载它),但看起来你必须告诉SelectedIndex
属性不自行序列化:
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public virtual int SelectedIndex {
get {
return yaSelectedIndex;
}
set {...}
}
答案 1 :(得分:3)
[Browseable(false)]
是要走的路:)