C#Texbox的'MaxLength'属性 - 错误(Winform)

1 c# textbox loops winforms

这个可能有一些解决方法 - 但是,我不确定它目前是什么.设置文本框的MaxLength属性后,我无法手动超越MaxLengthtextBox.另一方面,如果我要创建一个以编程方式将字符添加到文本框的循环 - 此循环可能会超出maxLength属性.

    textBox1.MaxLength = 5;  // I am now unable to manually type in more than 5 chars.

    for (int i = 0; i < 20; i++)
    {
    textBox1.AppendText("D");
    }

// Textbox now holds 20 chars.
Run Code Online (Sandbox Code Playgroud)

无需编写更多代码行来获取部分数据,是否有办法确保不超过maxlength属性?

此致,埃文

The*_*ebo 6

MaxLength:获取或设置用户可以键入或粘贴到文本框控件中的最大字符数.(表格) http://msdn.microsoft.com/en-us/library/system.windows.forms.textboxbase.maxlength.aspx并获取或设置文本框中允许的最大字符数.(网站)http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.textbox.maxlength.aspx

换句话说,这就是MaxLength的重点 - 它都是关于控制用户输入的.由于您拥有文本框,因此您无需设置自己的硬编程限制.

所以简而言之,没有 - 你不能改变这种行为而不重写其他功能 - 例如在OnChanged上 - 或添加像Ben和Sres所示的条件测试.