如何在继承时替换Progressbar的Value属性?

时间:2016-02-24 14:20:21

标签: c# properties

我正在尝试创建一个继承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;
            }
        }
}

1 个答案:

答案 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;
            }
        }
}