gpt4 book ai didi

c# - 如何使用枚举限制自定义控件文本颜色的选择

转载 作者:太空宇宙 更新时间:2023-11-03 14:05:51 27 4
gpt4 key购买 nike

所以现在我需要为 c# 项目制作一个自定义控件,重点是我想制作一个控件,我可以通过下拉菜单使用控件属性更改文本颜色。所以我想限制可以选择的颜色。现在,我有四个独立的颜色标签,但我需要一个带有从单个属性更改颜色的选项。颜色是使用 RGB 值预定义的。这是现有的标签代码,如何将其做成一个标签有多种颜色可供选择?

那是现有的标签代码。 http://pastebin.com/mezTBMxN感谢您的所有帮助。

最佳答案

您可以使用包含所需四种颜色的公共(public)枚举来定义自己的自定义属性。然后,当您呈现控件时,您可以相应地设置 ForeColor。

枚举:

public enum LabelColor
{
Gray,
Green,
Blue,
Red,
None
}

自定义属性:

[Bindable(true)]
[DefaultValue(LabelColor.None)]
[Category("Appearance")]
public LabelColor TextColor
{
get
{
EnsureChildControls();
return (ViewState["TextColor"] != null) ?
(LabelColor)Enum.Parse(typeof(LabelColor), ViewState["TextColor"].ToString()) :
LabelColor.None;
}

set
{
EnsureChildControls();
ViewState["TextColor"] = value;
}
}

在构造函数中设置颜色或覆盖 RenderControl()。请注意,您可以根据需要使用 Color.FromArgb(),但是,我建议分配 CSS 类以使您的演示文稿分开。

switch (this.TextColor)
{
case LabelColor.Gray:
this.CssClass = "label-gray";
break;
case LabelColor.Blue:
this.CssClass = "label-blue";
break;
case LabelColor.Green:
this.CssClass = "label-green";
break;
case LabelColor.Red:
this.CssClass = "label-red";
break;
}

关于c# - 如何使用枚举限制自定义控件文本颜色的选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9351397/

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