我不知道这意味着什么,可能会使用这个属性?
解决方法@H_419_14@ 如果将KeyPrevIEw属性设置为true,则表单将在控件执行之前接收键盘事件,从而使您有机会在表单级别执行某些 *** 作.现在,假设您有一个包含许多控件的表单.
想象一下,您希望允许用户按下键盘上的F2键来执行某些 *** 作,例如打开另一个表单,播放一些音乐等等.
在Access中,与大多数UI编程一样,任何时候只有一个控件可以获得焦点.
因此,如果焦点在文本框上,当您点击F2时,将触发文本框键盘事件.
您可以从文本框事件中捕获该按键,但如果用户从另一个控件中击中F2,则除非您还检测到F2已从该控件本身中被击中,否则将无法检测到该按键.
因此,为了简化 *** 作,您可以将表单设置为首先接收键盘事件,然后将它们传递给具有焦点的控件,让您有机会检测到用户在单个位置按F2,而不是连接每个控件以检测该按键.
例
将单个文本框mytextBox添加到新表单.
在表单后面的代码中,添加以下事件以捕获表单和文本框的键盘事件:
Private Sub Form_KeyDown(KeyCode As Integer,Shift As Integer) DeBUG.Print "Form_KeyDown(keycode:" & KeyCode & ",Shift:" & Shift & ")"End SubPrivate Sub Form_KeyPress(KeyAscii As Integer) DeBUG.Print "Form_KeyPress(KeyAscii:" & KeyAscii & ")"End SubPrivate Sub Form_KeyUp(KeyCode As Integer,Shift As Integer) DeBUG.Print "Form_KeyUp(keycode:" & KeyCode & ",Shift:" & Shift & ")"End SubPrivate Sub mytextBox_KeyDown(KeyCode As Integer,Shift As Integer) DeBUG.Print "mytextBox_KeyDown(keycode:" & KeyCode & ",Shift:" & Shift & ")"End SubPrivate Sub mytextBox_KeyPress(KeyAscii As Integer) DeBUG.Print "mytextBox_KeyPress(KeyAscii:" & KeyAscii & ")"End SubPrivate Sub mytextBox_KeyUp(KeyCode As Integer,Shift As Integer) DeBUG.Print "mytextBox_KeyUp(keycode:" & KeyCode & ",Shift:" & Shift & ")"End Sub
现在,打开表单并键入一个键.
如果你点击Q键,你应该在即时窗口中看到类似的东西:
只有文本框收到了事件.
现在,将KeyPrevIEw属性设置为true(是),当您打开表单并单击Q时,您应该看到表单首先收到了键盘事件.
总结以上是内存溢出为你收集整理的表单 – MS Access中表单的“键预览”属性是什么意思?全部内容,希望文章能够帮你解决表单 – MS Access中表单的“键预览”属性是什么意思?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)