我想将TabControl.TabStop属性始终设置为false.我将其设置为只读,但设计器似乎正在将其自动添加到初始化中,这会导致错误
Property ‘TabStop’ is ReadOnly
在继承控件中,如何在没有这些问题的情况下将属性值固定为常数?我应该只使用空的setter而不是将属性设置为只读吗?
我有的:
public class SpecialTabControl : TabControl
{
public bool TabStop {
get { return false; }
}
public SpecialTabControl() : base()
{
base.TabStop = false;
}
}
(C#或VB,无论您喜欢什么.)
解决方法:
请注意代码产生的警告,首先要解决的问题.是的,TabControl设计人员完全希望该属性具有一个setter,并且在没有属性时会吐出子弹.因此,您必须提供一个塞特犬.
您还希望防止在“属性”窗口中显示该属性,并明确指出该值永远不能序列化.所有这些加起来为:
[Browsable(false)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public new bool TabStop {
get { return false; }
set { base.TabStop = false; }
}
给TabIndex属性相同的处理方式.