我很难调试/修复应用程序。
简要地说: - 我创建了一个“向导”类型的应用程序,该应用程序从用户拍照开始(使用照片的通用对话框)
如果用户在拍摄照片后尝试使用文本输入窗口 (SIP)(小键盘输入窗口),则事件循环似乎挂起 - 事件未处理或延迟一段时间。
如果用户不拍照,则 SIP 键盘效果很好。
这只发生在我的一些设备上。具体来说,这不是 MC65 上的问题,而是 ES400 上的问题。
应用程序的事件循环似乎被我显示表单和拍照的方式搞砸了。
如果创建了一个包含一个按钮(事件处理程序拍摄照片)和一个接受输入的文本框的单一表单的简单测试应用程序。这很好用。但它只是一个单一的表单应用程序,什么都不做。
当我将照片拍摄与我的表格显示(制作“向导”)结合起来时,事情变得很糟糕。
我想知道我应该运行什么样的事件循环?
本质上,用户拍照然后浏览一些表单(当他们单击“下一步”按钮时,我隐藏一个表单并显示另一个表单。)
拍摄照片后,从主窗体调用 Form.Show,然后我有类似的东西:
while(UserNotFinished)
{
Application.DoEvents()
}
UserNotFinished
按下“提交”按钮后,我的向导/表单中设置的标志在哪里。
我很乐意提供更多代码,但不确定什么有用。
我是 C# 和 CF 开发的新手(多年的 C++/Win32)
真正令人困惑的部分是,这适用于一台设备,但不适用于另一台设备。事实上,设备完全挂起。它结束了 activesync 连接,有时我必须通过取出电池来硬重置。