好的 - 我在这里只需要一些想法。场景是 - 我的Windows窗体中有很多字段是用户必须输入的。其中一个可能是“名字”。因此,我有一个标签为lblName
,文字为Name
,另一个标签为lblMandatory
,文字*
为红色,表示这是强制性的。这意味着我有一个字段Name
的两个标签,同样我的表单中有超过20个字段。我只想创建一个自定义标签 - 名为MandatoryLabelControl
的东西,默认情况下会在文本后面有*
。这有助于我减少表单中的标签数量。自定义标签实际上是两件事的组合 - 首先是标签的文本,其次是红色的*
。我搜索了很多,但找不到任何东西。请帮忙提一些建议。
答案 0 :(得分:0)
您有两个选项 - 自定义标签控件或包含标签的用户控件以及基于Mandatory属性的*。如果您明确需要将“*”设置为红色(根据您的q似乎是这种情况),则需要使用用户控件。这稍微重一些,所以我建议重新考虑这个要求。以下是自定义标签控件的外观:
public class CustomLabel : Label
{
public CustomLabel()
{
}
public bool Mandatory { get; set; }
public override String Text
{
get
{
return base.Text + " *";
}
}
}
现在,您将使用CustomLabel而不是Label。