使用
Set
我在表单中有一些文本框,默认情况下,我使用这些属性设置了一个]
txtSearchBox.Value = "Wait.." txtSearchBox.ForeColor = 2 txtSearchBox.FontItalic = True
我想向此txtSearchBox添加onClick事件,以便通过子例程或函数更改其属性,因为我想在其他文本框上使用此子功能。
所以我声明了一个全局变量
Dim CurrentCtrl As Object
并尝试完成这项工作。。
Private Sub txtSearchBox_Click() CurrentCtrl = txtSearchBox.Name txtWait4Input (CurrentCtrl) End Sub Private Sub txtWait4Input(CurrentCtrl As Object) CurrentCtrl.ForeColor = 0 CurrentCtrl.FontItalic = False CurrentCtrl.Value = Null End Sub
但是这不起作用..
我在表单中有一些文本框,默认情况下,我使用这些属性设置了一个文本框txtSearchBox.Value =“ Wait ..” txtSearchBox.ForeColor = 2 txtSearchBox.FontItalic = True我想添加onClick ...
] >使用Set
从子通话中删除家长
使用控件集合
Dim语句不会创建一个全局变量,它需要Global或Public,Dim声明了一个变量,该变量仅对在其中声明的模块可用
不应该在两个位置声明变量CurrentCtrl
因此,如果所有代码都在表格后面:
Dim CurrentCtrl As Object _________________________________________ Private Sub txtSearchBox_Click() Set CurrentCtrl = Me.Controls("txtSearchBox") txtWait4Input End Sub _________________________________________ Private Sub txtWait4Input() CurrentCtrl.ForeColor = 0 CurrentCtrl.FontItalic = False CurrentCtrl.Value = Null End Sub
可以消除标题和设置行中的变量:
Private Sub txtSearchBox_Click() txtWait4Input Me.Controls("txtSearchBox") End Sub _________________________________________ Private Sub txtWait4Input(CurrentCtrl As Object) CurrentCtrl.ForeColor = 0 CurrentCtrl.FontItalic = False CurrentCtrl.Value = Null End Sub
使用Set