在.NET C#中:继承控件文本框,并更改默认BackColor

时间:2014-12-02 13:53:05

标签: c# .net winforms

我想继承类System.Windows.Forms.Textbox, 并将其默认的BackColor属性更改为其他内容。

最好的方法是什么?

这需要两部分:

1)在我的继承课中,我应该把它放在哪里 base.BackColor = Color.FromArgb(0x55,0x55,0xFF); 线:在Ctor?在初始化?加载?其他地方?哪里最合适..

2)当我设置DefaultValue属性时,如何为其指定一个Color类型的参数? 如果我给一个int,比如 0x5555FF ,那么稍后当我在Visual Studion的Designer中 如果我单击我的控件实例上的Backcolor属性,然后右键单击该属性并选择“重置”,则会出现错误: “类型'System.Int32'的对象无法转换为'System.Drawing.Color'类型。”

IDE期望DefaultValue属性的值为Color结构,而不是int .. 但是在属性中我不能发送Color结构,那么解决方案是什么?

非常感谢

1 个答案:

答案 0 :(得分:1)

1)在构造函数中执行此操作,是的 2)对RGB格式执行此操作:

[DefaultValue(typeof(Color), "255,0,0")]
public override Color BackColor { get { return base.BackColor; } set { base.BackColor = value; } }