MS-ACCESS如何通过子例程od函数更改文本框字体颜色

问题描述 投票:0回答:1

我在表单中有一些文本框,默认情况下,我使用这些属性设置了一个]

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 ...

] >
  1. 使用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
    
    function ms-access textbox access-vba subroutine
    1个回答
    0
    投票
    1. 使用Set

    © www.soinside.com 2019 - 2024. All rights reserved.