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

このコードを入力してください:

 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 に答える