none
TextBox限制字符数目 RRS feed

  • 问题

  • 需要实现一个功能,限制TextBox的输入为20个汉字或者40个字符,1个汉字=2个字符,有什么比较简单的处理。

    谢谢

    2014年10月30日 2:40

答案

  • 楼主 你好,

    在项目中,一般使用TextBoxMaxLength属性来限制输入字符的长度,如果设置MaxLength  = 20,那么不管中文字符还是英文字符,均只能输入20个。如果需要达到你的需求,需要在后台事件中进行处理。我们可以通过下面的代码来获取输入字符长度。可以通过Encoding.UTF8.GetBytes 的方式获取字符长度。

    Code:

    	private void MyTextBox_TextChanged(object sender, TextChangedEventArgs e)
    	{
    		byte[] input = Encoding.UTF8.GetBytes(MyTextBox.Text);
    		if(input.Length > 40)
    		{
    			return;
    		}
    	}

    在后期你可以把这个封装成一个自定义控件来使用。

    谢谢!


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 skczjun 2014年10月31日 0:45
    2014年10月30日 5:22
    版主