文本框已禁用大字符串
当键入一个巨大的字符串时,我遇到了textbox
的问题。
就我而言,文本框用于编写电子邮件地址,并且没有字符限制。 所以,我做了这个测试:我在记事本中写了200个电子邮件地址,然后我将文本粘贴在文本textbox
,文本消失了,但是如果我更改了控件的焦点,则会再次显示文本。 我已经看过这个链接 ,但它对我没有帮助。 我已经尝试将MaxLength
属性更改为0( 微软如何表示 ),但它在这里也不起作用。
考虑到一个包含50个字符的电子邮件地址,MaxLength属性不会有问题,因为200个电子邮件地址乘以50个字符(每个电子邮件),我将有10000个字符, TextBox.MaxLength
的默认值为32767。
并且,在您要求代码之前,我只将文本设置为字符串。
myEmailObject.Address = txtEmail.Text;
我应该使用RichText
,还是什么?
尝试将Multiline属性设置为True并增加文本框的高度
这是Windows EDIT控件中的一个已知限制,即由TextBox类包装的本机控件。 我知道Windows 7 SP1和Windows 8中存在限制,早期版本几乎肯定也有。
一旦在单行TextBox中显示超过5000个字符,您将行使此限制。 给或取,它基于显示文本的总宽度(以像素为单位)。 因此,当您使用较小的字体或比W
字符多得多时,您可以适应更多。 Afaik,当宽度超过32767像素时,你会跳过限制,这个数字在USER32 api中的几个地方弹出,并且可以追溯到Windows版本<= 3,即16位。 在主要版本中保持EDIT兼容30年是一项重大努力。
此限制不会经常进行测试,在单行文本框中填充许多字符是不切实际的。 没有合理的方法,用户可以在如此小的空间内对那么多文本做任何有用的事情。 不可能阅读它,可靠的编辑肯定是不可能的。
考虑一个更实用和用户友好的用户界面,限制只是不再是一个问题。 使用Multiline = true或只显示使用省略号的占位符字符串。
上述就是C#学习教程:文本框已禁用大字符串分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1000439.html