Ram*_*oni 13 .net windows winforms
我正在使用带有多行选项ON的winforms文本框.我想限制可以在其中输入的行数.用户不应该输入更多行.
我怎样才能做到这一点?
Ras*_*dit 13
你需要检查
txtbox.Lines.Length
您需要为两种情况处理此问题:1.用户在文本框中键入2.用户已在文本框中粘贴文本
用户在文本框中键入内容
您需要处理文本框的按键事件,以防止用户在超过最大行时输入更多行.
private const int MAX_LINES = 10;
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (this.textBox1.Lines.Length >= MAX_LINES && e.KeyChar == '\r')
{
e.Handled = true;
}
}
Run Code Online (Sandbox Code Playgroud)
我已经测试了上面的代码.它按预期工作.
用户在文本框中粘贴一些文本
要防止用户粘贴超过最大行数,您可以编写文本更改事件处理程序:
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (this.textBox1.Lines.Length > MAX_LINES)
{
this.textBox1.Undo();
this.textBox1.ClearUndo();
MessageBox.Show("Only " + MAX_LINES + " lines are allowed.");
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14475 次 |
| 最近记录: |