限制.net文本框中的行数

前端之家收集整理的这篇文章主要介绍了限制.net文本框中的行数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用 winforms文本框与多行选项ON.我想限制可以输入的行数.用户不应该输入更多的行.

我该如何实现呢?

你需要检查

txtBox.Lines.Length

您需要处理以下两种情况:1.用户正在输入文本框2.用户已将文本粘贴到文本框中

用户在文本框中输入

您需要处理文本框的按键事件,以防止用户在超过最大行时输入更多行.

  1. private const int MAX_LINES = 10;
  2.  
  3. private void textBox1_KeyPress(object sender,KeyPressEventArgs e)
  4. {
  5. if (this.textBox1.Lines.Length >= MAX_LINES && e.KeyChar == '\r')
  6. {
  7. e.Handled = true;
  8. }
  9. }

我已经测试了上面的代码.它按照需要工作.

用户粘贴文本框中的一些文本

为了防止用户粘贴超过最大行,您可以对文本更改的事件处理程序进行编码:

  1. private void textBox1_TextChanged(object sender,EventArgs e)
  2. {
  3. if (this.textBox1.Lines.Length > MAX_LINES)
  4. {
  5. this.textBox1.Undo();
  6. this.textBox1.ClearUndo();
  7. MessageBox.Show("Only " + MAX_LINES + " lines are allowed.");
  8. }
  9. }

猜你在找的Windows相关文章