当用户在子表单上的记录之间切换时,我希望另一个字段暂时突出显示以引起用户警告用户已更改。
我认为这样可行:
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Form_Current()
Form_frm_Codes.txtCodeToAdd = Me.Code.Value
Form_frm_Codes.txtCodeToAdd.BackColor = RGB(0, 0, 255)
Sleep (500)
Form_frm_Codes.txtCodeToAdd.BackColor = RGB(255, 255, 255)
End Sub
睡眠功能倾向于暂停程序半秒钟,但我之前没有看到蓝色变化。
任何想法甚至更好的方法来实现这一目标?
答案 0 :(得分:1)
而不是使用API尝试下面的代码
Private Sub Form_Current()
Form_frm_Codes.txtCodeToAdd = Me.Code.Value
Form_frm_Codes.txtCodeToAdd.BackColor = RGB(0, 0, 255)
delay 5
Form_frm_Codes.txtCodeToAdd.BackColor = RGB(255, 255, 255)
End Sub
Private Sub delay(seconds As Long)
Dim endTime As Date
endTime = DateAdd("s", seconds, Now())
Do While Now() < endTime
DoEvents
Loop
End Sub
或者在睡眠前添加DoEvents以更新屏幕。
Private Sub Form_Current()
Form_frm_Codes.txtCodeToAdd = Me.Code.Value
Form_frm_Codes.txtCodeToAdd.BackColor = RGB(0, 0, 255)
DoEvents
Sleep (500)
Form_frm_Codes.txtCodeToAdd.BackColor = RGB(255, 255, 255)
End Sub