什么可能导致System.Windows.Forms.InputLanguage.CreateInputLanguageChangingEventArgs中的溢出异常

时间:2011-03-12 06:20:51

标签: c# .net exception overflow

我有一个用户报告了一个非常奇怪的异常,它发生在.NET框架内。

异常的堆栈跟踪是:

System.String StackTrace =   場所 System.Windows.Forms.InputLanguageChangingEventArgs..ctor(InputLanguage inputLanguage, Boolean sysCharSet)
   場所 System.Windows.Forms.InputLanguage.CreateInputLanguageChangingEventArgs(Message m)
   場所 System.Windows.Forms.Control.WmInputLangChangeRequest(Message& m)
   場所 System.Windows.Forms.Control.WndProc(Message& m)
   場所 BatteryBar.BatteryBar.WndProc(Message& m)
   場所 System.Windows.Forms.Control.ActiveXImpl.System.Windows.Forms.IWindowTarget.OnMessage(Message& m)
   場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

我查看了Reflector中的InputLanguage类,我在InputLanguageChangingEventArgs的构造函数中看不到可能导致溢出异常的任何内容。

我的应用程序与本地化相关的唯一事情是尝试确定操作系统默认语言,并在有可用的翻译时将翻译文件加载到哈希表中。表单会尝试在从右到左和从左到右之间切换以进行适当的翻译,但由于这是日语,我认为这不会影响它。

1 个答案:

答案 0 :(得分:1)

嗯,也许日本符号在ANCII表中的大小比普通的sizeof(char)更大 - 这只是我想到的事情。