在 Motorola MC3100(仅限 CE 6.0 版本)上退出我的 .NET CF 3.5 应用程序时,我收到错误消息“应用程序 xxx 遇到严重错误,需要关闭”。然后我需要热启动设备以使应用程序再次工作。
此代码在应用程序关闭之前工作正常,并且仅在应用程序中的控件上设置字体时才会失败。一切在 .NET CF 2.0 和所有其他摩托罗拉、Intermec、Psion、HHC 设备上也能正常工作,我用 .NET CF 3.5 尝试过。
这是我当前的测试代码:
[MTAThread]
static void Main()
{
Control oCtrl = new Control();
oCtrl.Font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Bold);
// Setting the controls font to null works
// oCtrl.Font = null; Works
// Setting the Control to null does not work, still get error
// oCtrl = null; Doesn't work
// Setting a font, not on a control, also works fine.
// System.Drawing.Font font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Bold);
}
我看到了一些似乎相关的链接:
但到目前为止,我发现的唯一建议是消除应用程序中的字体。在这种情况下,设置字体的地方太多了,包括链接的程序集,这是不可能的。
有没有其他人见过这样的事情。这似乎与控件未正确处理这些版本上的字体有关。