2012-02-15 61 views
0

如果術語不正確,我表示歉意 - 不確定是否將其稱爲繼承控件,自定義控件或用戶控件。無論如何,請記住這是一個緊湊的框架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 

回答

0

試試這個:

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