我有一个自定义用户控件,并且已覆盖其Font属性.
当我将用户控件的副本放到窗体上时,可以很好地设置Font属性,但是在窗体的设计器文件中看不到为“字体”设置的值.当我编译/运行我的应用程序时,我输入的值会丢失.
请注意,我也想覆盖Text属性,也不能在设计器文件中看到该属性的设置值-直到我在这里找到一个答案来帮助做到这一点(我需要设置’DesignerSerializationVisibility’和’ EditorBrowsable’属性).我曾尝试对Font进行相同操作,但无济于事.有任何想法吗?
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;
}
}
解决方法:
将代码更改为此:
public UserControl1()
{
InitializeComponent();
base.AutoScaleMode = AutoScaleMode.None;
}
[Description("Sets the font of the button caption")]
public override Font Font
{
get { return _Font; }
set { _Font = base.Font = value; }
}