在尝试理解MSDN文章中的Input示例时,是否感到困惑?如果在Google上搜索简单的示例,但仍然找不到答案,那么这篇文章将为提供帮助。虽然在新闻组中找到了一些晦涩的回应,但实际的示例更容易理解。
为什么微软不能提供足够简单的示例供所有人使用,这是一个谜。决定写这篇文章,因为发现没有一个简单的示例。打算在网站上发布这篇文章,但考虑到CodeProject有更多的用户,所以决定在这里发布。代码非常简单,认为没有必要将其转换为C#,但如果这样做了,可能会在网站上找到它的归宿。
使用起来非常简单。首先,需要添加对Microsoft.WindowsCE.Forms的引用。接下来,创建一个类的实例:
Private WithEvents KeyMessages As New HardwareKeyMessageWindow()
然后响应HardwareKeyPressed()消息:
Private Sub KeyMessages_HardwareKeyPressed(ByVal sender As Object, ByVal ke As HardwareKeyPressEventArgs) Handles KeyMessages.HardwareKeyPressed
Select Case ke.KeyID
Case HardwareKey1
' 执行某些操作
Case HardwareKey2
' 执行其他操作
Case HardwareKey3
' 执行其他事情
Case HardwareKey4
' 不执行任何操作
Case HardwareKey5
' 抛出一个通用错误,表明在任何情况下都不应按下此按钮
End Select
End Sub
为了使示例完整,构建了一个简单的Etch-A-Sketch应用程序。遗憾的是,没有方法可以检测摇晃。
这个程序是用VS2003编写的,但认为它应该也可以在VS2002上工作。
在运行Windows for PocketPC 2002(微软赠送的ViewSonic V37)和Windows for PocketPC 2003(NavMan PIN 570)的Pocket PC上测试了这个应用程序。
如果对如何控制Pocket PC上的硬件按钮感兴趣,这篇文章提供了一个简单的入门指南。通过添加必要的引用并创建适当的事件处理程序,可以轻松地响应硬件按钮的按下事件。