访问表单控件闪烁控件是来自Class的setFocus
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了访问表单控件闪烁控件是来自Class的setFocus相关的知识,希望对你有一定的参考价值。
我一直在努力让访问表单上的闪烁停止。 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
语句,但没有变化。
感谢您的任何帮助,您可以提供。
答案
很难说你是否这样做只是为了确定,你是否设定了值来回声?
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
另一答案
你的代码引用了一个函数tglSI_AfterUpdate和tglNA_AfterUpdate - 那些函数或子程序是否改变了表单的回声?我的回声实际上导致闪烁,以及条件格式化可能会改变事件期间控件的可见性。切换按钮上有图像还是文本?
以上是关于访问表单控件闪烁控件是来自Class的setFocus的主要内容,如果未能解决你的问题,请参考以下文章
winform绘制闪烁 前台有个线程隔一秒给控件赋值,控件就开始闪烁,如何处理