VB中TextBox控件的Maxlength属性的疑问

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB中TextBox控件的Maxlength属性的疑问相关的知识,希望对你有一定的参考价值。

VB中TextBox控件的Maxlength属性的疑问

Maxlength = 10 时,英文可以输入十个字符,但是中文也能输入十个汉字。
怎么让它只能输入 五个汉字 呢?

参考技术A 因为,一个汉字等于两个字节,而一个字母却等于一个字节 参考技术B 哈哈,他瞎掰的

给你个思路 定义一个变量temp存放textbox的值,初始为"",
加一个textbox的change事件,把textbox的值取出来,然后放到一个变量temp2里,对变量temp2进行替换(正则表达式),把变量中的中文字符全部替换成**来占位。然后再计算temp2的长度,如果长度超过10,就把temp值给textbox。如果没有,就把textbox当前值给temp;

不知道你明白没有,由于我不是做VB的,所以没办法写例子给你

下面给你一个javascript中判断字符串长度的例子
function getlengthB(str)
return str.replace(/[^\x00-\xff]/g,"**").length;

replace中就是用正则表达式匹配中文的方法

VB中label控件的文字换行

其实楼主可以用Textbox代替label,将textbox的appearance设为flat,然后border设为0,背景设为按钮颜色,multiline设为true,scrollbar设为vertical就可以了,这样就可以自动换行了。 参考技术A 我支持副总裁超超说的,可是,有一点小问题,label没有text属性,呵呵,具体的说法是这样的!
label中的文字如果是中文,它可以自动换行,但是如果是数字或者是英文的话,就不会自动换行,所以我觉得保准点的方式是
设计界面后,选中该标签,将AUTOSIZE
属性设置为TRUE,还有一个属性
WORDWRAP属性是文字换行属性也设置为TRUE。
当然标签的大小也要设计适当大
参考技术B Label控件是按照你给它设置的大小来显示,若设置大一些,那数据默认是自动换行的,一直填满label控件,若字数超过它的大小,超出的部分则不显示。相反则完全显示,你不防实验一下!!! 参考技术C 您好
Label控件默认是自动换行的,不要把AutoSize属性设置为True。
如果你的Label不能自动换行,可能是Label.Text属性设置的值有问题
你可以尝试直接把从Table中取出的文本赋给Label.Text,看一下是否能自动换行了
参考技术D label1.caption
=
"aaa"
&
chr(13)
&
"bbb"

以上简单语句,label1内容如下

aaa

bbb

chr(13)即为换行

如有问题,请追问

以上是关于VB中TextBox控件的Maxlength属性的疑问的主要内容,如果未能解决你的问题,请参考以下文章

VB里关于Rich textbox控件的方法

vb:text控件,输出的时候怎么换行?

VB如何把文件内容显示在文本框中?

vb6.0 textbox2怎么显示不出来数据,换成 textbox1就可以了呢

VB treeview 中各控件的属性

如何控制TextBox的最打输入字符的长度