【发布时间】:2015-08-07 19:27:26
【问题描述】:
我用两个 ComboBox 创建了一个特定的用户控件,继承自 UserControl
Public Class CodLibCombo : Inherits System.Windows.Forms.UserControl
然后我需要一个特定的“启用”属性,可以启用里面的两个 ComboBox。所以我尝试使用“阴影”和“覆盖”来重新定义它:
Public WriteOnly Shadows Property Enabled() As Boolean
Set(ByVal Value As Boolean)
cbo1.Enabled = Value
cbo2.Enabled = Value
End Set
End Property
但问题是,当我实例化新对象时,我得到了两个“已启用”属性。
请帮忙!
【问题讨论】:
-
不要继承 UserControl,而是继承 ComboBox 或简单地继承 Control。
-
Enabled属性未声明为虚拟您不能覆盖它。如果你隐藏它,是的,每个声明的类型都有两个属性。即CodLibCombo.Enabled和Control.Enabled是不同的 -
@Sriram Sakthivel,所以你认为即使我尝试从 ComboBox 或 Control 继承,我也会得到相同的结果?
-
你想达到什么目的?为什么需要再添加一个 Enabled 属性?
-
对不起,我刚刚添加了更多细节
标签: .net vb.net inheritance overriding