【发布时间】:2011-08-12 21:54:00
【问题描述】:
我正在尝试在 Microsoft TreeView 控件中捕获 [ENTER]。
此代码在任何普通键上都可以正常运行,但不能输入。
Private Sub xProductTreeview_KeyPress(KeyAscii As Integer)
'do something treeview can understand..
Application.Quit
End Sub
现在按键不会在 ENTER 上触发,所以尝试 KeyDown, 在http://www.pcreview.co.uk/forums/here-syntax-treeview-keydown-t3810664.html 的帮助下 官方声明不正确,以下代码有效:
Private Sub xProductTreeview_KeyDown(KeyCode As Integer, ByVal Shift As Integer)
'do something treeview can understand..
If KeyCode = 32 Then Application.Quit
'Still, KeyCode=13 doesn't trigger nothing..
End Sub
尝试将 access-form 中的 KeyPreivew 设置为 true。
编辑: 这确实有效..
将 KeyPreview 设置为 true 并且:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then MsgBox xProductTreeview.SelectedItem.Text
End Sub
唯一剩下的就是返回值是label-value,它可能是非唯一的,那么如何获取节点的Key而不是Text呢??
问候, //t
【问题讨论】:
-
啊,它起作用了,然后: Dim nodSelected As MSComctlLib.Node Set nodSelected = Me.xProductTreeview.SelectedItem MsgBox nodSelected.Key