C# 限制文本框中的单词

C# 限制文本框中的单词,c#,html,textbox,C#,Html,Textbox,我正在尝试用c#创建一个只包含100个单词的文本框,在第100个单词之后,不能向该框中输入其他文本。在文本框的TextChanged事件中,计算空格和换行符的出现次数。如果它们大于99,则不允许更改文本。您必须在另一个变量中保留其文本的副本,以便在用户输入第101个单词时可以还原为该文本。一种简单的方法可能不准确,因为它将连续的空格替换为一个: private void textBox1_TextChanged(object sender, EventArgs e) { string[]

我正在尝试用c#创建一个只包含100个单词的文本框,在第100个单词之后,不能向该框中输入其他文本。

在文本框的TextChanged事件中,计算空格和换行符的出现次数。如果它们大于99,则不允许更改文本。您必须在另一个变量中保留其文本的副本,以便在用户输入第101个单词时可以还原为该文本。

一种简单的方法可能不准确,因为它将连续的空格替换为一个:

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));
}
您可以将其替换为旧文本,而不是
字符串.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;
}

试着用一个可能有用的问题来重新表述这个问题。你确定你不是指角色吗@I4V有道理!我正在试着为文章制作一个盒子,所以我的意思是单词。谢谢@Tim,但是有没有办法阻止他们在第100个单词之后键入任何内容?您可以继续键入代码,但当您取消选择该框时,它会删除第100个单词之后的所有内容。这是一个问题,因为学生写文章时会使用此表单,我们不希望他们丢失一半的文章。您可以在第100个单词后禁用文本框。我对使用C#/HTML编程很陌生,我想知道禁用文本框是否会永久禁用它,或者用户是否能够删除一个单词并添加另一个?