吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1244|回复: 18
收起左侧

[已解决] C#大佬帮我看看这一个问题

[复制链接]
zoenbo 发表于 2021-4-30 21:26
本帖最后由 zoenbo 于 2021-5-1 13:44 编辑

<TextBox Width="340" Height="30" MaxLength="30" Text="{Binding Title}" VerticalContentAlignment="Center"/>

这是用在Microsoft Visual C# / Basic .NET(桌面程序)里的,MaxLength我想让它实现最多汉字30个,英文60个字符,这个怎么实现呢?在线等待...  

免费评分

参与人数 1热心值 +1 收起 理由
pc8881805 + 1 请勿灌水,提高回帖质量是每位会员应尽的义务!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

langu 发表于 2021-4-30 21:45
注册文本改变事件,看内容超过没
 楼主| zoenbo 发表于 2021-4-30 21:55
langu 发表于 2021-4-30 21:45
注册文本改变事件,看内容超过没

我完全不懂这个.NET,目前这个MaxLength要是设30,英文和汉字都是30个,超出内容不会显示。
Rt39 发表于 2021-4-30 22:06
 楼主| zoenbo 发表于 2021-4-30 22:07
Rt39 发表于 2021-4-30 22:06
那应该用的是utf-8编码,可能要到业务里控制

大佬,有没有解决方法呢?百度上一点相关的都没。
gohopo 发表于 2021-4-30 22:13
MaxLength绑定变量,使最大长度可以自己控制,如MaxLength="{Binding MaxLength}".
然后在编辑框的改变事件中判断,如果有中文就MaxLength=30;否则就MaxLength=60;
 楼主| zoenbo 发表于 2021-4-30 22:16
gohopo 发表于 2021-4-30 22:13
MaxLength绑定变量,使最大长度可以自己控制,如MaxLength="{Binding MaxLength}".
然后在编辑框的改变事件 ...

大佬,能帮我写个判断么?就这个就困扰了五六个小时了,没找到解决方法。
WolfAvenue 发表于 2021-4-30 22:48
这需求,应该可以混合中英文吧。。。只能在文本改变事件里判断了,用正则判断中文
DrCatcher 发表于 2021-4-30 22:49
[C#] 纯文本查看 复制代码
<TextBox Name="textBox" Width="340" Height="30"  VerticalAlignment="Center" TextChanged="textBox_TextChanged" ></TextBox>

        private void textBox_TextChanged(object sender, TextChangedEventArgs e)
        {
            if (textBox.Text.Trim() != null)
            {
                if (Convert.ToInt32(Convert.ToChar(textBox.Text.Substring(0, 1))) < Convert.ToInt32(Convert.ToChar(128)))
                {
                    textBox.MaxLength = 10;
                }
                else
                {
                    textBox.MaxLength = 5;
                }
            }
        }

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
zoenbo + 1 + 1 谢谢@Thanks!感谢大佬帮助~

查看全部评分

jonasr 发表于 2021-4-30 22:57
用正则表达式 如果是英文和字符就限制60个否则限制30个汉字

var pattern1 = @"^[0-9a-zA-Z_]{5,30}$"  //最小5位最大30位的数字+字母 如果需要特殊字符自己在加

然后Match一下     System.Text.RegularExpressions.Regex.IsMatch(你传进来的字符串, pattern1);

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
zoenbo + 1 + 1 谢谢@Thanks!感谢大佬帮助~

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 02:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表