如何将标准控件属性固定在所需值
本文关键字:属性 标准 控件 | 更新日期: 2023-09-27 18:10:36
我想让TabControl.TabStop
属性始终设置为false
。我把它设置为只读,但设计器似乎自动将其添加到初始化中,导致错误
属性'TabStop'为ReadOnly
在继承控制中,我如何在没有这些问题的情况下固定恒定值的属性值?我应该使用空setter而不是使属性只读吗?
What I have:
public class SpecialTabControl : TabControl
{
public bool TabStop {
get { return false; }
}
public SpecialTabControl() : base()
{
base.TabStop = false;
}
}
(c#或VB,不管你喜欢。)
一定要注意代码产生的警告,这是您首先要修复的。是的,TabControl设计者完全希望这个属性有一个setter,当它没有setter时,它会吐子弹。所以你必须提供一个setter
您还需要防止该属性在Properties窗口中可见,并明确表示该值永远不能被序列化。这些加起来就是:
[Browsable(false)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public new bool TabStop {
get { return false; }
set { base.TabStop = false; }
}
对TabIndex属性进行相同的处理