65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 WinCE 进行质量检查

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.45/5 (8投票s)

2004年5月29日

CPOL

3分钟阅读

viewsIcon

58558

downloadIcon

291

演示如何使用 Windows CE 完成工作。

InspectorCE Image

引言

本文详细介绍了我在使用 VB.NET 学习 Windows CE 时发现的一些优缺点。通过阅读本文,我希望您能更好地了解使用 WinCE 平台构建质量检查类型应用程序是多么容易。最重要的是,在本文中,我希望讨论一下我第一次处理 WinCE 相关应用程序时遇到的一些尝试和克服。有时令人沮丧,但总的来说,使用这门新语言很有趣。

背景

这个练习,InspectorCE (即 ICE v1.0),实际上始于我尝试针对 Windows CE 平台的想法。自从 Microsoft 和 CP 推广从 Windows X .NET Framework 到 WinCE 框架的轻松过渡以来,我就一直想使用 WinCE 进行编程。所以,这是我目前的进展。

使用代码

使用代码很简单。大多数编程都是使用 Visual Studio .NET 的 Pocket PC 2002 模拟器中内置的部署方案进行的。我还没有使用实际的 Windows CE 设备测试安装程序和/或应用程序。因此,谨慎起见,我敦促您尝试一下并报告结果,让我们知道情况如何。

启动时,您会看到质量检查访问的主屏幕界面。创建访问记录后,您可以选择有关商店位置、所有者姓名、经理等详细信息...

其次,在检查表中,您将根据组织的各个标准对商店进行评分和排名。

最后,作为检查员(即顾问),您可以选择保存、打印和/或编辑您的检查数据。保存数据后,将创建一个 (*.xml) 文件,该文件可以上传并与公司数据库同步。该项目将包括 WebReference 项目以帮助解决这个问题。应该对其进行调整,但我没有时间再进行修改。

第一个兴趣点

   Private Sub btnNext1_Click(...) Handles btnNext1.Click
        Me.tabControl.SelectedIndex = 1
        CalculateTotals()
    End Sub

    Private Sub btnNext2_Click(...) Handles btnNext2.Click
        Me.tabControl.SelectedIndex = 2
        CalculateTotals()
    End Sub

    Private Sub btnNext3_Click(...) Handles btnNext3.Click
        Me.tabControl.SelectedIndex = 3
        CalculateTotals()
    End Sub

我想展示上面的代码来演示我遇到的一个不喜欢的地方。通常,这些事件的代码看起来像这样

    Private Sub btnNext1_Click(...) _
    Handles btnNext1.Click, _
        btnNext2.Click, btnNext3.Click
        Dim btn As Button = sender

        Select Case btn.Name
            Case btnNext1.Name
                    ....
            Case btnNext2.Name
                ...
            Case btnNext3.Name
                ....
        End Select

    End Sub

请注意,所有逻辑代码都已合并到一个方法语法中。好吧,您无法在 WinCE 中执行如此简单的操作,因为 WinCE 中的 Button 控件没有附加 Name 属性。听起来很荒谬吧?嗯,我也是这么认为的。在我拔掉剩下的头发试图弄清楚这一点之前,我只是简单地回到了旧的 VB6 方法,为每次单击的按钮编写单独的方法。如果那里还有其他人知道更好的方法,请告诉我。

第二个兴趣点

你们有没有人弄清楚 Windows CE 窗体是如何管理的?每当我尝试执行简单的打开、关闭、窗体例程时,我都会被错误吓到。例如,我们不能这样做

    Private Sub miEditVisit_Click(...) Handles miEditVisit.Click
        Dim frm As New FrmVisits
        frm.ShowDialog()
        Me.Close() <--- This causes a NULLReference Exception Error
    End Sub

我的意思是,是的,窗体不再存在是有道理的,但是它们何时、何地、如何被调用、加载和初始化?我可能走错了方向,但我肯定会尽快查找一下。

最终

总而言之,我认为在这里获得的经验非常棒。但是作为 Windows CE 的新手,请为少量挫折做好准备。一旦你克服了这一点,其他一切都和往常一样。您将不得不习惯更小的工作屏幕区域。但是,这就是我们这些伟大的程序员能够成为我们最伟大的创造自我的地方,对吗?

© . All rights reserved.