我有一個自定義用戶控件並且已覆蓋其Font屬性。在設計器文件中不顯示的自定義用戶控件中的重寫字體屬性
當我把我的usercontrol的一個副本拖放到窗體上時,我可以將Font屬性設置得很好,但是我沒有看到爲窗體的設計器文件中顯示的'Font'設置的值。當我編譯/運行我的應用程序時,我輸入的值丟失。
請注意,我也想重寫Text屬性,並且無法在設計器文件中看到此設置值 - 直到我在這裏找到答案來幫助做到這一點(我需要設置' DesignerSerializationVisibility「和」EditorBrowsable「屬性)。我已經嘗試做同樣的字體,但無濟於事。有任何想法嗎?
private Font _Font = UserControl.DefaultFont;
[Description("Sets the font of the button caption"),,
Browsable(true),
Bindable(true),
EditorBrowsable(EditorBrowsableState.Always),
DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public override Font Font
{
get { return _Font; }
set
{
_Font = value;
}
}
難道你們就不能僅僅用'base.Font'?有兩個實例有什麼意義? – Patrick
在文檔中也注意到[this](http://msdn.microsoft.com/en-us/library/system.windows.forms.control.font.aspx):「*繼承者註釋 當重寫Font屬性在派生類中,使用基類的Font屬性來擴展基本實現,否則,你必須提供所有的實現,你不需要重寫Font屬性的get和set訪問器;如果需要的話,你可以覆蓋只有一個。*「 – Patrick