6

今日、TextBox.Text に奇妙な問題が見つかりました。文字列の長さが長すぎると、テキストボックスが空のように見えますが、実際にはまだ選択/コピー/貼り付けできますが、文字が表示されません。

それをテストするために小さな winform を書きました。文字列の長さが 5460 よりも長い場合、問題が発生することがわかりました。

Win7 64、VS2010を使用しています。このような大きな文字列を 1 行のテキスト ボックスに表示するのはナンセンスだとわかっていますが、根本的な原因を知りたいです。

また、Win2008 では発生しないことにも気付きました。Win7 でもスクリーン レコーダーを使用すると、問題がなくなりました。とても奇妙!

4

2 に答える 2

0

文字列を受け取り、文字列が許可されているよりも長いかどうかをチェックする if-checker を作成できます。次に、文字列に対して関数を実行すると、目的の長さに切り詰められた文字列が返されます。おそらく、最後に .. を付けて、短縮されていることを示します。おそらく次のようなものです:

public string Truncate(string source, int length)
{
    if (source.Length > length) 
    {
            source = source.Substring(0, length -2); //-2 because of the ".."
            source += "..";
    }
    return source;
}
于 2015-03-26T14:37:53.893 に答える
0

同じエラーが発生し、複数行をtrueに設定すると解決しました。これを試すことができます

<TextBox>.Multiline = true;
于 2015-05-13T14:50:07.370 に答える