c# - 如何限制在文本框中粘贴的字符数?

标签 c# winforms

我需要限制要粘贴到多行文本框中的字符数。

假设这是我要粘贴到文本框中的字符串:

Good day Ladies and Gents!
I just want to know

如果可以,请帮忙。

规则是每行最大字符数为 10,最大行数为 2。应用该规则,粘贴的文本只能是这样的:

Good day L
I just wan

最佳答案

不会自动执行此操作。您需要处理文本框上的 TextChanged 事件,并手动解析更改后的文本以将其限制为所需的格式。

private const int MaxCharsPerRow = 10;
private const int MaxLines = 2;

private void textBox1_TextChanged(object sender, EventArgs e) {
    string[] lines = textBox1.Lines;
    var newLines = new List<string>();
    for (int i = 0; i < lines.Length && i < MaxLines; i++) {
        newLines.Add(lines[i].Substring(0, Math.Min(lines[i].Length, MaxCharsPerRow)));
    }
    textBox1.Lines = newLines.ToArray();
}

关于c# - 如何限制在文本框中粘贴的字符数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17737602/

相关文章:

c# - 如何从 WinForms 中的 app.config 读取 AppSettings

c# - 如何使用新的 Twitter API v1.1 提取用户的推文?

c# - 从 BackgroundWorker 调用的方法中返回

c# - DEL 和 BACKSPACE 键从 WebBrowser 中被吃掉

c# - C# 打印中的换页

windows - 我怎样才能强制 Aero 绘制一个无边框窗口,就好像它处于事件状态一样,即使它不是?

c# - 形成 Load() 或不形成 Load()

c# - WebApi 路由导致 404(未找到)响应

c# - Specflow:通过步骤参数转换传递 IWebElement

c# - 首先为 Entity Framework 代码中的所有字符串设置 MaxLength