在 .NET C# 中:继承控件 Texbox 和更改默认背景色

本文关键字:默认 背景色 Texbox 控件 NET 继承 | 更新日期: 2023-09-27 18:32:52

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

最好的方法是什么?

这需要 2 个部分:

1(在我的继承类中,我应该把基础。BackColor =Color.FromArgb(0x55,0x55,0xFF(;行:在Ctor?在初始化?负荷?别的地方?哪里最合适..

2(当我设置默认值属性时,如何给它一个颜色类型的参数?如果我给出一个 int,比如 0x5555FF,那么当我在 Visual Studio 的设计器中时,如果我单击控件实例上的 Backcolor 属性,然后右键单击该属性并选择"重置">,则会出现错误:"类型'System.Int32'的对象不能转换为类型'System.Drawing.Color'。

IDE 期望 DefaultValue 属性中的值是颜色结构,而不是整数。但是我在属性中无法发送 Color 结构,那么解决方案是什么?

谢谢

在 .NET C# 中:继承控件 Texbox 和更改默认背景色

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

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