首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VB.NET (非Windows窗体级)中的应用程序级KeyUp/KeyDown事件

VB.NET (非Windows窗体级)中的应用程序级KeyUp/KeyDown事件
EN

Stack Overflow用户
提问于 2012-04-02 03:28:17
回答 1查看 1.7K关注 0票数 1

我正在创建一个用VB.NET编写的Excel外接程序。我希望将KeyDown和KeyUp事件绑定到电子表格,以便记录用户在浏览电子表格时按下和释放箭头键的时间。

例如,理想情况下,这些事件应该与原生SheetActivate和SheetSelectionChange事件一起构建到Excel中。可惜,事实并非如此。

请注意,我对Windows窗体控件的KeyDown/KeyUp事件不感兴趣,因为我没有使用Windows窗体。相反,我希望在Excel应用程序、工作簿或工作表级别创建这些事件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-02 15:05:09

可以将Windows API调用GetAsyncKeyStateSelectionChange事件结合使用

下面是一个演示VBA的小代码片段

代码语言:javascript
复制
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Key As Long
    For Key = 3 To 255
        If GetAsyncKeyState(Key) Then
            MsgBox "KeyCode: " & Key & " was pressed."
        End If
    Next
End Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9967547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档