情况:我在MS Access 2010
中有一个表单,其中包含大约50个文本框和组合框,其ForeColor
设置为11250603 Gray
Load
。我想要做的是创建一个简洁的代码,在个别选择中更改ForeColor
的{{1}}。
我可以为每个文本/组合使用vbBlack
事件,但这很笨拙。我已经看到其他线程模糊地使用了GotFocus
,但它不是我所知道的,我甚至不确定它是否会在DirectCast()
中起作用。我在这里尝试过YouTube并搜索线程,但到目前为止还没有找到解决方案。
如果有人能指出我在哪里可以找到代码或者我可以调整代码的方向,那将非常感激。
答案 0 :(得分:1)
您将使用 WithEvents 。这里有一个例子:
Create Windows Phone Colour Palette and Selector using WithEvents
它包含这个简单的代码:
Private Sub ClassTextBox_Click()
' Select full content.
ClassTextBox.SelStart = 0
ClassTextBox.SelLength = Len(ClassTextBox.Value)
' Display the clicked value.
ClassTextBox.Parent!CopyClicked.Value = ClassTextBox.Value
' Copy the clicked value to the clipboard.
DoCmd.RunCommand acCmdCopy
End Sub
选择并复制所点击的任何文本框的值。您可以将其修改为设置ForeGround颜色:
Private Sub ClassTextBox_Click()
' Set foreground colour.
ClassTextBox.ForeColor = vbBlack
End Sub
在加载事件中,您可以将前景色设置为灰色值。