c# - 继承 Progressbar 的 Value 属性如何替换?

标签 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;
            }
        }
}

最佳答案

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

关于c# - 继承 Progressbar 的 Value 属性如何替换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35604669/

相关文章:

c# - C# 中的表达式始终为真

c# - 通过比较它们的序列化字节数组来比较一个类的两个实例是否可靠?

c# - c#/VB.net Property Properties 的优点/优势是什么 - Setters 的私有(private)访问修饰符

.net - 相同的属性,不同的类型

python - 可以设置Python对象的任何属性

c# - 从 C# 中调用用 C++ 编写的 DLL 中的自定义类型

c# - 使用将 Func<> 作为参数传递的 Reflection Emit 创建构造函数调用

c# - 将方法指针作为整数参数从 C# 发送到 C++ 方法

Sharepoint 自定义 Web 部件属性未显示在工具箱中

python - 在模块加载时设置类的属性