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