当Text is Assigned时,TextBox允许Text比MaxLength更多

时间:2014-03-21 09:37:35

标签: c# wpf textbox

TextBox的MaxLength设置为5.它工作正常,不允许输入或粘贴文本超过MaxLength。但它允许从代码分配文本时。

是TextBox的行为吗?如果是这样,如何以通用方式处理它?<​​/ p>

2 个答案:

答案 0 :(得分:3)

是TextBox的行为吗?

是的,这是文本框的行为。来自MSDN

  

此属性不会影响添加的字符   编程。

如何以通用方式处理它?<​​/ p>

  

您可以通过首先检查长度来控制它   字符串然后分配。像,

if(stringtoAssign.Length > yourTextBox.MaxLength )
{
    //or throw an exception, mesagebox. What ever you want
    yourTextBox.Text = stringToAssign.SubString(0,yourTextBox.MaxLength);
}

答案 1 :(得分:0)

来自MSDN:

TextBox.MaxLength属性

您可以使用此属性来限制将数据存储在数据库中时输入的文本长度,以便输入控件的文本不会超过数据库中相应字段的最大长度。

TextBox.MaxLength property does not affect characters that are added programmatically.

了解更多here