Foxtable(狐表)用户栏目专家坐堂 → 是否可以判断输入的是中文还是英文?


  共有2040人关注过本帖树形打印复制链接

主题:是否可以判断输入的是中文还是英文?

帅哥哟,离线,有人找我吗?
qwz405
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:526 积分:5083 威望:0 精华:0 注册:2015/4/15 15:25:00
是否可以判断输入的是中文还是英文?  发帖心情 Post By:2018/5/4 9:19:00 [只看该作者]

前提:使用者输入的是:纯中文 or 纯英文
我要将使用者输入的文字显示出来,根据字数的多少,来设置字体的大小。

Dim str As String = Tables("表A").Current("名称")
Dim lb2 As WinForm.Label = Forms("表A").Controls("lb2")      '显示名称
If str.Length >= 15 Then  
    lb2.Font = new Font("微软雅黑",60,FontStyle.Bold) 
ElseIf str.Length >= 13 AndAlso str.Length <= 14 Then
    lb2.Font = new Font("微软雅黑",70,FontStyle.Bold) 
Else
    lb2.Font = new Font("微软雅黑",80,FontStyle.Bold)
End If


问题:不管是中文字符还是英文字符,在计算长度的时候,均为1。
所以当使用输入英文时,虽然字数很多,但实际占用空间不大,需要放大显示。

是否可以判断输入的是中文还是英文,我可以分开来控制大小?
或者用别的方法,来控制文本框大小?
   
例如:
Dim str1 As String = "中华人民共和国"           'str1.Length = 7
Dim str2 As String = "Chinese people"         'str2.Length = 14


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/4 9:25:00 [只看该作者]

参考

 

Dim str As String = "中华人民abc共和国"
Dim len As Integer = Encoding.default.getbytes(str).length
msgbox(len)


 回到顶部