如何将标准控制 属性 固定在所需值?
How to fix standard control property at desired value?
我希望 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,如果没有,就会吐子弹。所以你必须提供一个 setter.
您还需要防止 属性 在属性 window 中可见,并明确表示绝不能序列化该值。所有加起来:
[Browsable(false)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public new bool TabStop {
get { return false; }
set { base.TabStop = false; }
}
对 TabIndex 属性 进行同样的处理。
我希望 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,如果没有,就会吐子弹。所以你必须提供一个 setter.
您还需要防止 属性 在属性 window 中可见,并明确表示绝不能序列化该值。所有加起来:
[Browsable(false)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public new bool TabStop {
get { return false; }
set { base.TabStop = false; }
}
对 TabIndex 属性 进行同样的处理。