1

我想将我的标签限制为最多 1000 个字符。如何做到这一点?请帮忙...

4

4 回答 4

3

无法限制标签的长度,但由于标签没有用户输入,您可以限制分配给它的字符串属性。

string s = "long string...";
if (s.length > 1000){
   s = s.SubString(0, 1000);
}
lblMyLabel.Text = s;
于 2012-08-09T08:23:45.933 回答
3

Tyr 这段代码:

 string str = "Characters...";
 if(str.length > 1000)
 {
    str = str.SubString(0, 1000);
 }
 lbl.Text = str;
于 2012-08-09T08:28:55.673 回答
2

正如@Curt 已经提到的那样,标签上没有直接的用户交互(例如在文本框上),因此您应该限制服务器上的字符串长度。

作为已经给出的答案的额外信息,这是我使用的代码......

public string FormatText(string text, int len, string suffix)
{
    if (len != -1 && text.Length > len)
    {
        int pos = text.LastIndexOfAny(" ,.".ToCharArray(), len);
        if (pos == -1)
            pos = len;
        text = text.Substring(0, pos) + suffix;
    }
    return text;
}

然后你可以调用类似...

lblMyLabel.Text = FormatText(myText, 1000, "...")

这样做是阻止单词在中间被砍断,希望能防止不幸的情况。例如,文本可能包含he is an assistant它产生的恰好 1000 个字符he is an ass。我的代码将输出he is an...

于 2012-08-09T08:33:15.983 回答
1

标签不是输入,但如果您知道它超出了限制,您可以将长度减少到 1000 个字符。

const int limit = 1000;
label.Text = label.Text.Length>limit ? label.Text.SubString(0,limit) : label.Text;

假设您的标签称为标签

于 2012-08-09T08:27:54.127 回答