我正在尝试创建一个继承ProgressBar类的自定义UserControl控件。我想尝试替换ProgressBar类的“Value”属性。当我尝试这样做时,我陷入无限循环,因为尝试设置Value属性最终会调用我的新类属性。
所以问题是,有什么方法可以解决这个问题,还是需要创建某种类型的内部变量来跟踪进度条的值?这会怎么样?
这是我到目前为止所拥有的......
public partial class MyProgressBar : ProgressBar
{
public new int Value
{
get { return Value; }
set
{
if (value < Minimum) value = Minimum;
if (value > Maximum) value = Maximum;
Value = value;
}
}
}
答案 0 :(得分:3)
public partial class MyProgressBar : ProgressBar
{
public new int Value
{
get { return base.Value; }
set
{
if (value < Minimum) value = Minimum;
if (value > Maximum) value = Maximum;
base.Value = value;
}
}
}