我想将我的标签限制为最多 1000 个字符。如何做到这一点?请帮忙...
问问题
6921 次
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 回答