C#中的强制标签用户控件

时间:2013-08-27 13:05:43

标签: c# .net winforms user-controls label

好的 - 我在这里只需要一些想法。场景是 - 我的Windows窗体中有很多字段是用户必须输入的。其中一个可能是“名字”。因此,我有一个标签为lblName,文字为Name,另一个标签为lblMandatory,文字*为红色,表示这是强制性的。这意味着我有一个字段Name的两个标签,同样我的表单中有超过20个字段。我只想创建一个自定义标签 - 名为MandatoryLabelControl的东西,默认情况下会在文本后面有*。这有助于我减少表单中的标签数量。自定义标签实际上是两件事的组合 - 首先是标签的文本,其次是红色的*。我搜索了很多,但找不到任何东西。请帮忙提一些建议。

1 个答案:

答案 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。