无法重置cf 3.5中自定义控件的属性值

问题描述:

如果术语不正确,我表示歉意 - 不确定是否将其称为继承控件,自定义控件或用户控件。无论如何,请记住这是一个紧凑的框架3.5 /智能设备开发问题。我有一个我从一个按钮继承的控件。基本上它绘制了一个渐变和四角。我有6个自定义属性添加到此控件中。我注意到,当我在设计器的属性窗口中设置其中一个属性的值时,我无法“重置”该值(即右键单击 - >重置)。问题是这些属性之一是图像,现在清除该图像的唯一方法是从窗体中删除按钮并重新创建它。我尝试在DesignTimeAttributes.xmta文件中为所有属性设置默认值,但这似乎没有帮助。 “重置”仍然被禁用。任何帮助表示赞赏。从类的图像属性代码如下:无法重置cf 3.5中自定义控件的属性值

Private _Image As Bitmap = Nothing 
Public Property Image() As Bitmap 
    Get 
     Return _Image 
    End Get 
    Set(ByVal value As Bitmap) 
     _Image = value 
     Invalidate() 
    End Set 
End Property 

试试这个:

public void ResetImage() 
{ 
    if (Image != null) 
    { 
     Image.Dispose(); 
     Image = null; 
    } 
} 

您可以随时对任何物业创造复位方法:

public void Reset[PropertyName]() 
{ 
    // Reset your property 
} 

注:设计师荣获”如果您在Xmta中设置了DefaultValue,则调用Reset方法。

+0

谢谢!仍然很难相信我在搜索中没有遇到过这种情况。但看到你的帖子后,我发现这应该有助于任何人在将来看到这个问题:[MSDN定义默认值与ShouldSerialize和重置方法](http://msdn.microsoft.com/en-us/library/53b8022e( v = VS.90)的.aspx) – Bob 2012-02-17 14:37:06