gpt4 book ai didi

c# - 如何使用自定义 DefaultBackColor 制作 UserControl?

转载 作者:行者123 更新时间:2023-11-30 20:13:56 25 4
gpt4 key购买 nike

当我右键单击属性网格中的自定义 UserControl 的 BackColor 属性,然后单击“重置”时,我希望将 BackColor 属性更改为(例如) Color.LightGreen,并且属性值显示为非粗体,以指示它是默认值。

目前,我知道我可以做到这一点:

public override void ResetBackColor() {
BackColor = Color.LightGreen;
}

只要在重置时将其设置为浅绿色即可。但它仍然在属性网格中显示为粗体,表明当前值不是默认值。

我注意到 Control 类有一个静态只读属性 DefaultBackColor。不幸的是,由于它是静态的,我无法覆盖它。

有什么方法可以获得我想要的所有功能吗?

最佳答案

您可以通过使用 DefaultValue 来实现此目的属性:

public UserControl1()
{
InitializeComponent();
this.BackColor = Color.LightGreen;
}

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

关于c# - 如何使用自定义 DefaultBackColor 制作 UserControl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1187561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com