TextBox控件的TextChanged事件有关的一个问题

ViVAJoy2008 2011-07-26 09:05:02
如下代码:
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


不知道有谁遇到这个问题了,又是如何解决。还请介绍一下,先谢过!
...全文
132 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

8,734

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧