ラベルを 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
このコードを入力してください:
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 に答える