【问题标题】:determine if the index changed of a listview is triggered by mouse or keyboard确定列表视图的索引更改是否由鼠标或键盘触发
【发布时间】:2015-02-11 05:25:41
【问题描述】:

如何判断listview的索引变化是鼠标还是键盘触发的?

要确定一个选定的索引更改事件,我使用这个

Private Sub lv_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lv.SelectedIndexChanged

End Sub

是否存在仅用于鼠标单击的事件?或任何条件来检测它是由鼠标点击还是键盘触发?请帮忙

【问题讨论】:

  • 这是相当不明智的。但这是可行的,使用 ListView.MouseDown 和 PreviewKeyDown 事件来设置一个布尔变量,您可以在 SelectedIndexChanged 事件处理程序中对其进行测试。仔细测试。
  • @HansPassant,感谢您的回复..

标签: vb.net winforms listview


【解决方案1】:

我相信您可以检查 Sender (ListView) 的 MouseButtons 属性来确定用户是否按下了任何鼠标按钮:

Private Sub lv_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lv.SelectedIndexChanged
    If sender.MouseButtons = MouseButtons.None Then
        ' No buttons being pressed (keyboard used)
    Else
        ' Mouse button being pressed
    End If
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-18
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    • 2017-11-21
    相关资源
    最近更新 更多