0

C# で 100 語のみを含むテキスト ボックスを作成しようとしていますが、100 語目以降はボックスに他のテキストを入力できません。

4

2 に答える 2

2

連続した空白を1つに置き換えるため、不正確になる可能性のある単純なアプローチ:

private void textBox1_TextChanged(object sender, EventArgs e)
{
    string[] words = textBox1.Text.Split();
    int wordCount = words.Length;
    if (wordCount > 100)
        textBox1.Text = string.Join(" ", words.Take(100));
}

の代わりにString.Join、古いテキストに置き換えることができます。

private string oldText;
private void textBox1_TextChanged(object sender, EventArgs e)
{
    string[] words = textBox1.Text.Split();
    int wordCount = words.Length;
    if (wordCount > 100)
        textBox1.Text = oldText;
    else
        oldText = textBox1.Text;
}
于 2013-05-09T22:30:51.053 に答える
0

テキスト ボックスの TextChanged イベントで、空白と改行の発生をカウントします。99 より大きい場合は、テキストを変更できません。ユーザーが101番目の単語を入力した場合に元に戻すことができるように、そのテキストのコピーを別の変数に保持する必要があります。

于 2013-05-09T22:25:04.890 に答える