Function 如何在VB6中将空值传递给函数?

Function 如何在VB6中将空值传递给函数?,function,vb6,null,Function,Vb6,Null,我需要的是:向用户显示一条消息。然而,有时我需要在文本框中显示,而另一些时候则需要在组合框中显示 我所做的:我创建了两个函数来接收: 第一功能 1.我要向用户显示的命令 2.将包含消息的文本框的名称 function txtfunction(Byval msg as String, Byval txt as Textbox) function cbxfunction(Byval msg as String, Byval cbx as ComboBox) 第二功能 1.我要向用户显示的命令 2

我需要的是:向用户显示一条消息。然而,有时我需要在文本框中显示,而另一些时候则需要在组合框中显示

我所做的:我创建了两个函数来接收: 第一功能 1.我要向用户显示的命令 2.将包含消息的文本框的名称

function txtfunction(Byval msg as String, Byval txt as Textbox)
function cbxfunction(Byval msg as String, Byval cbx as ComboBox)
第二功能 1.我要向用户显示的命令 2.将包含消息的组合框的名称

function txtfunction(Byval msg as String, Byval txt as Textbox)
function cbxfunction(Byval msg as String, Byval cbx as ComboBox)
它正在工作,但我想知道是否有可能将这两个函数混合在一个函数中。当我调用函数时,我可以设置一个参数的空值(Textbox或Combobox)

我想要的功能:

function txtcbxfunction(Byval msg as String, Byval txt as TextBox, Byval cbx as ComboBox)
我希望称之为:

txtcbxfunction("HELLO",nameTextBox, null) 'Message in the TextBox
txtcbxfunction("HELLO",null,nameComboBox) 'Message in the ComboBox

TextBox
ComboBox
都是VB的
控件
类的一部分,因此您可以使用
控件
对象来表示它们

例如:

Function txtcbxfunction(ByVal msg As String, c As Control)
    c.Text = msg  ' Both TextBox and ComboBox have a "Text" property, so this works
End Function
然后,无论您使用的是
文本框
还是
组合框
,都以同样的方式调用它:

txtcbxfunction "Test Message", Text1
txtcbxfunction "Test Message", ComboBox1
如果要确保只将
TextBox
ComboBox
控件传递给函数,可以使用
TypeName()
函数来确定控件的类型:

Function txtcbxfunction(ByVal msg As String, c As Control)
    Select Case TypeName(c)
        Case "TextBox", "ComboBox"
            c.Text = msg
        Case Else
            Exit Function
    End Select
End Function

你标记了VBScript,但这不是VBScript。哦…抱歉…请稍等。更改问题的标题是个好主意,不是吗?我可以处理。没问题。祝你好运