【问题标题】:Max Char in TextBox C#?TextBox C#中的最大字符?
【发布时间】:2023-03-24 00:53:01
【问题描述】:

只是想知道 C# 文本框多行可以容纳多少个字符?

【问题讨论】:

  • @Kim Gräsman:你怎么知道这个问题涉及winforms?

标签: winforms textbox char


【解决方案1】:

查看TextBoxMaxLength 属性——它存储了控件可以占用的最大字符数;根据文档,它是可变的。不过,通常默认值足够大。 (虽然我想既然你提出了这个问题,它可能不是!)

从文档中,您可以看到 MaxLength 的最大值为 2147483646。当然,这受到目标机器内存的限制。

【讨论】:

  • 根据文档,MaxLength 不是 TextBox 可以容纳的字符数;它是用户可以输入的字符数。以编程方式添加的字符可以超过 MaxLength 限制。
  • 我今天遇到了这个问题。出于某种原因,我的文本框默认设置为 32K,我试图将 54K 的 SQL 查询粘贴到自定义工具中。粘贴失败了大约 2/3:数据被简单地截断了。我尝试在尾部手动编辑;在备份到 32K 限制之前,我可以删除文本,但不能编辑或添加文本。因此,如果您发现文本被截断,请检查 MaxLength 属性并确保其设置正确。
【解决方案2】:

其他答案似乎假设 WinForms 开发。

如果您正在做 ASP.NET 开发,请注意 System.Web.UI.WebControls.TextBox 类的 MaxLength 属性在 TextMode = Multiline 时会被忽略。原因很简单:<textarea> HTML 元素没有提供任何方法来限制其内容的长度。

您需要编写一些客户端脚本来强制执行max length on a textarea

【讨论】:

    【解决方案3】:

    适用于 Windows NT 4.0、Windows 2000、Windows 2000 Professional、Windows 2000 Server、Windows 2000 Advanced Server、Windows XP Home Edition、Windows XP Professional x64 Edition、Windows Server 2003 平台:-

    如果 MaxLength 属性设置为 0,则最大数量 用户可以输入的字符是 2147483646 或基于 可用内存,以较小者为准。

    对于 Windows Millennium 版平台:

    如果 MaxLength 属性设置为 0,则最大数量 用户可以输入的字符是 32,766 或基于 可用内存,以较小者为准。

    有关更多信息,请参阅link

    【讨论】:

    • 你好像忘记在最后一句中加入链接了!
    【解决方案4】:

    我认为您可以放入 Windows.Forms.TextBox 的文本大小没有任何固定限制(指定 C# 无关紧要)。我有时会在其中放入几兆字节的字符数据,并且效果令人满意。

    但是,可能存在实际限制 - 控件并非面向处理大量文本,因此性能会随着音量的增加而下降。

    根据用户的硬件,这可能是也可能不是问题。

    如果您需要对数兆字节的文本区域进行良好的编辑,那么使用设计合理的编辑控件将是一个好主意。

    【讨论】:

    • 对“设计合理的编辑控件”有什么建议吗?
    • 抱歉,没有 WinForms 建议 - 我最近没有在那个领域工作。 AvalonEdit (wiki.sharpdevelop.net/AvalonEdit.ashx) 是一个很好的 WPF 开源软件。这两个平台都有商业平台。
    猜你喜欢
    • 2014-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    • 1970-01-01
    • 2016-07-26
    相关资源
    最近更新 更多