问题
TextBox's MaxLength
was set to 5. It works fine that it does not allows to enter or paste the Text more than the MaxLength
. But it allows when the Text is assigned from code.
Is it the behavior of TextBox? If it so, How to handle it in a generic way?
回答1:
Is it the behaviour of TextBox?
yes, it is behaviour of text box. From MSDN
This property does not affect characters that are added programmatically.
How to handle it in a generic way?
You can control it progmatically by first checking the length of string and then assigning. Like,
if(stringtoAssign.Length > yourTextBox.MaxLength )
{
//or throw an exception, mesagebox. What ever you want
yourTextBox.Text = stringToAssign.SubString(0,yourTextBox.MaxLength);
}
回答2:
FROM MSDN:
TextBox.MaxLength Property
You can use this property to restrict the length of text entered when the data is to be stored in a database so that the text entered into the control does not exceed the maximum length of the corresponding field in the database.
TextBox.MaxLength property does not affect characters that are added programmatically.
Read more here.
来源:https://stackoverflow.com/questions/22555033/textbox-allows-text-more-than-the-maxlength-when-text-is-assigned