为用户界面控件构建我的基类正在实现。我有自定义字体赋值派生的命令按钮并放在表单上,一切都很好......但是,在同一表单上无法正确识别文本框的只读属性Font的相同代码。它只需要设置FORM并忽略它自己的Font声明。
public class MyTextbox : TextBox
{
[ReadOnly(true)]
public override Font Font
{ get { return new
Font( "Courier New", 12f, FontStyle.Regular, GraphicsUnit.Point );
}
}
}
答案 0 :(得分:1)
Font属性是一个环境属性。如果它从未分配,它会自动匹配容器控件的Font属性。你从未分配过它。
这样做:
public class MyTextbox : TextBox {
Font mFont;
public MyTextbox() {
base.Font = mFont = new Font("Courier New", 12f, FontStyle.Regular, GraphicsUnit.Point);
}
[ReadOnly(true)]
public override Font Font {
get { return mFont; }
}
}
答案 1 :(得分:0)
在“nobugz”(谢谢)的帮助下,我在使用ComboBox时也发现了同样的失败。我的结果如下......
我的吸气器
get { return new Font( ... ); }
然而,在nobugz响应中,某些东西在编译器上运行不正常,所以在类的构造函数中
clas MyTextbox...
{
public MyTextbox()
{
// it defaults itself from its own read-only font "new" object instance and works
base.Font = Font;
}
}