TextBox控件的TextChanged事件有关的一个问题
如下代码:
private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
{
if(this.txtFree.Text.Length > 10)
this.txtFree.Text = this.txtFree.Text.Substring(0, 10);
}
问题描述:
假设现在文本框(TextBox)里已经输入了9个字母,之后再输入英文不会出问题,功能正常。
但如果用中文输入法或日本输入法,输入第十个、第十一个汉字的时候,就会报错。
错误内容如下:
Web画面错误详细:
ユーザー エージェント: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E; .NET CLR 3.0.30729)
タイムスタンプ: Tue, 26 Jul 2011 02:03:26 UTC
Message: Silverlight アプリケーションのハンドルされないエラー
Code: 4004
category ManagedRuntimeError
message: System.Exception: 致命的错误。 (HRESULT からの例外: 0x8000FFFF (E_UNEXPECTED))
場所 MS.Internal.XcpImports.CheckHResult(UInt32 hr)
場所 MS.Internal.XcpImports.Control_Raise(Control control, IManagedPeerBase arguments, Byte nDelegate)
場所 System.Windows.Controls.TextBox.OnTextInputUpdate(TextCompositionEventArgs e)
場所 System.Windows.Controls.Control.OnTextInputUpdate(Control ctrl, EventArgs e)
場所 MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName)
行: 56
文字: 13
CODE: 0
URI: http://localhost:5017/FreeTextBoxTestTestPage.aspx
不知道有谁遇到这个问题了,又是如何解决。还请介绍一下,先谢过!