我一直在努力让访问表单上的闪烁停止。同样的问题也出现在Access 2013和2016中。
我在一个表单上有24个切换按钮。由于OptionGroup控件的某些限制,我已经将所需的所有功能构建到一组切换按钮中。这是通过每组按钮的类附加到按钮的。
一切工作正常,但当用户按下向左、向右、向上或向下箭头时,控件会闪烁。
代码:
Private Sub tglS_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 1 Then Exit Sub
Select Case KeyCode
Case 39, 40
KeyCode = 0
tglSI.SetFocus
tglSI.Value = True
tglSI_AfterUpdate
Case 37, 38
KeyCode = 0
tglNA.SetFocus
tglNA.Value = True
tglNA_AfterUpdate
End Select
End Sub
我单步执行了代码,发现每当控件为SetFocus
时都是如此。
绑定和未绑定控件的所有控件都会闪烁。切换按钮位于选项卡页上,也可使控件在选项卡上闪烁。
我尝试将Application.Echo
语句放在SetFocus
语句的两边,但没有任何变化。
感谢您能提供的任何帮助。
发布于 2017-12-23 13:09:45
很难说你是不是这样做的,只是为了确认一下,你有没有给echo设置值?
Application.Echo False
Select Case KeyCode
Case 39, 40
KeyCode = 0
tglSI.SetFocus
tglSI.Value = True
tglSI_AfterUpdate
Case 37, 38
KeyCode = 0
tglNA.SetFocus
tglNA.Value = True
tglNA_AfterUpdate
End Select
Application.Echo True
发布于 2017-12-25 13:35:52
您的代码引用了函数tglSI_AfterUpdate和tglNA_AfterUpdate -这些函数或子例程会改变表单的回声吗?我不幸遇到了导致闪烁的回声,以及可能会在事件期间改变控件可见性的条件格式。切换按钮上是否有图像或文本?
https://stackoverflow.com/questions/47949109
复制相似问题