【发布时间】:2016-10-07 07:24:54
【问题描述】:
我有一个用 C#.Net 编写的应用程序,它在 Motorola MC67 Windows Mobile 设备上运行。
通过“启动”文件夹,我的应用程序会在重新启动后自动启动,并加载“登录”屏幕。据报道,设备重启后偶尔会显示空白屏幕。
在这个阶段,软件没有崩溃,因为我可以使用一些设备的物理按钮移动到新屏幕,然后导航回现在正确显示的“登录”屏幕。
我无法找到问题的路径,希望能得到一些帮助。
问题似乎只在对接时发生(与单路对接相比,在 4 路对接中发生的更多,因为 4 路可以进行更多网络连接),并且在重新启动后很难调试。
显示的白屏是在应用程序启动时显示的初始屏幕,它只是位于背景中,因此看起来“登录”屏幕已以某种方式被隐藏或处置。
作为临时解决方案,我创建了一个名为“Form_Deactivate()”的方法,每当“登录”屏幕失去焦点时调用该方法,当它失去焦点时,我调用“this.BringToFront()”,然后显示“登录”屏幕正确,不再显示白屏。
虽然这可能是一个可以接受的解决方法,但我仍在努力寻找问题的原因。
如果有帮助,当调用 deactivate 方法时,我会强制异常以记录堆栈跟踪,但这并没有真正帮助我。
at InSync.LogonForm.Form_Deactivate(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnDeactivate(EventArgs e)
at System.Windows.Forms.Form.WnProc(WM wm, Int32 wParam, Int32 lParam)
at System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)
at Microsoft.AGL.Forms.EVL.EnterMainLoop(IntPtr hwnMain)
at System.Windows.Forms.Application.Run(Form fm)
at InSync.ApplicationManager.Start()
at InSyncLauncher.Program.Main()
如果有人有任何建议或事情,我可以尝试解决这个问题,我将不胜感激,谢谢。
【问题讨论】:
-
当你的应用程序加载时,听起来通用窗口“废话”仍在继续,因此其他事情正在集中注意力和控制,并且仍然对正在发生的事情感到不安
-
能否请您发布此启动程序的代码?您在使用摩托罗拉 AppCenter 吗?我会向你推荐这个。 AppCenter 可以处理程序的自动启动并限制普通用户对操作系统的访问。
标签: c# .net windows-mobile windows-ce