如下面的程序,可以实现自定义一个控件,封装了Label控件,如果程序中的所有控件都使用该控件,某一天领导希望所有控件的字体要改大一些,则理论上能只改这个控件就行,但到底怎么做呢?我写了override Font,但是没有效果,请问到底该怎么做呢?非常感谢!
public partial class DLLabel : Label
{
public DLLabel()
{
InitializeComponent();
} public override Font Font
{
get
{
System.Drawing.Font o = new Font();
o = base.Font;
o.Size = 24;
return o;
}
set
{
base.Font = value;
}
}
}
public partial class DLLabel : Label
{
public DLLabel()
{
InitializeComponent();
} public override Font Font
{
get
{
System.Drawing.Font o = new Font();
o = base.Font;
o.Size = 24;
return o;
}
set
{
base.Font = value;
}
}
}
解决方案 »
- 如何在帖子里面发图片啊
- 服务里是不是event不起作用
- 急!急!丧尽天良求一作业_闹钟控件的答案.散100分
- 用c#.NET做的托盘程序,在关机时由于该托盘的存在,计算机不能关机或重起。谁知道是什么原因?如何处理?
- 请各位高手帮忙!!!!!!!!
- MDI父窗体如何关闭子窗体中用代码启动的窗体(这个问题可是“前无古人,后无来者”哦!)
- 如何在datagrid中用类似progressBar的效果显示百分比?
- 各位大牛给推荐下c#书籍学习树呗
- 学习c#中遇到的查询问题,希望论坛的朋友帮帮忙!亟待解决
- [System.ComponentModel.DesignerCategory("Code")]的问题
- C#里有没有跟vb里redim Preserve似的法法?
- 请教有关IL问题
然后在你的自定义控件中追加一个字体大小变化的change事件,当有改变的时候,自动调这个事件,把字体改为你默认的
{
//InitializeComponent(); SetFont();
} private void SetFont()
{
Font myBigFont = new Font("Arial", 20);
this.Font = myBigFont;
}
如果在构造函数中SetFont,则已经加载过的控件的字体没有被改变,这当然不能满足我的要求。
但如果重载Font属性,则这个DLLabel控件的字体就固定了,没办法再修改了。这样程序中某个控件要求字体例外时,就没办法了。大侠们能解决吗?非常感谢!