C# で 100 語のみを含むテキスト ボックスを作成しようとしていますが、100 語目以降はボックスに他のテキストを入力できません。
質問する
982 次
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 に答える