即使输入了某些内容,TextBox.text值仍为空

时间:2012-03-22 09:53:35

标签: debugging vb6

我正在尝试调试用VB6编写的表单窗口。它是输入客户数据,因此您可以在地址字段中键入地址。您也可以输入类似90210 Main Street的内容,然后输入它将自动解析文本并在下面的邮政编码字段中写入90210,并让Main Street位于地址栏中。然而它偶尔可以解析错误,这正是我想要解决的问题。

问题是我无法弄清楚它是如何设置的。如果我在TextBox地址字段中键入内容并执行

?ADDRESS.text

在即时窗口中,它返回一个空字符串。当我查看表单下的下拉列表时,也只定义了一个函数。但是当我在它上面设置一个断点并单击文本框时,它就不会中断。这是GotFocus()事件:

Private Sub ADDRESS_GotFocus()
   Call GCui.BM(ADDRESS)
End Sub

与POSTALCODE文本框相同。它定义了DblClick,GotFocus和LostFocus事件函数。但是在其中任何一个中设置断点都没有效果。

有没有办法找出表格中Main Street或90210的值存储在哪里?它们在ADDRESS文本框和POSTALCODE文本框中清晰可见,但在询问其值时,立即窗口返回空行。

更新1:

似乎有人决定使用新控件完全重建表单。它可能发生在form.load中。但我仍然想知道是否有办法搜索变量值以找到字符串“Main Street”或“90210”。

更新2:

事实证明,彼此顶部有两个框架。顶部框架在启动时隐藏,底部(几乎相同的框架具有相同的标签和控件)显示。

1 个答案:

答案 0 :(得分:2)

您可以使用“观看”功能。这将允许您检查表单的所有属性以及表单中的所有控件及其值(查看控件节点)。

您也可以通过循环遍历form.controls集合,通过代码执行此操作。

Dim o As Object
For Each o In Me.Controls
    If TypeOf o Is TextBox Then
        Debug.Print o.Text
    End If
Next