2015-07-24 3 views
3

Что мне нужно: чтобы показать пользователю одно сообщение. Однако иногда мне нужно показывать в текстовом поле и в другое время в Combobox.Как передать нулевое значение функции в VB6?

То, что я сделал: я создал две функции, делате: Первая функция 1. Команда, которую я хочу показать пользователю 2. имя Textbox, который будет включать в себя сообщение

function txtfunction(Byval msg as String, Byval txt as Textbox) 

Вторая функция 1. команда, которую я хочу показать пользователю 2. название выпадающий, который будет включать в себя сообщение

function cbxfunction(Byval msg as String, Byval cbx as ComboBox) 

Пришло но я хотел бы знать, можно ли смешивать эти две функции только в одном. Ибо когда я вызываю функцию, я могу установить нулевое значение одного параметра (текстовое поле или 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 
+0

Вы отметили VBScript, но это не VBScript. – Bond

+0

oh ... извините ... мгновение – EricHideki

ответ

4

TextBox и ComboBox являются частью Control класса VB, так что вы можете представить их в общем с помощью a Control объект.

Например:

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 

А потом называть его так же, будь вы используете TextBox или ComboBox:

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 
+0

Это хорошая идея, чтобы изменить название вопроса, не так ли? – EricHideki

+1

Я могу позаботиться об этом. – Bond

+0

Благодарим за помощь. – EricHideki

Смежные вопросы