0

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

4

1 回答 1

0

您有两个选项 - 自定义标签控件或包含标签和 * 基于 Mandatory 属性的用户控件。如果您明确需要将“*”设为红色(根据您的 q 似乎是这种情况),您将需要使用用户控件。这稍微重一些,所以我建议重新考虑这个要求。以下是自定义标签控件的外观:

public class CustomLabel : Label
{
    public CustomLabel()
    {

    }

    public bool Mandatory { get; set; }

    public override String Text
    {
        get
        {
            return base.Text + " *";
        }
    }    
}

您现在将使用 CustomLabel 而不是 Label。

于 2013-08-27T13:14:48.000 回答