Значение TextBox.text пусто, даже если что-то было введено - PullRequest
0 голосов
/ 22 марта 2012

Я пытаюсь отладить окно формы, написанное на 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?Они четко видны в текстовом поле АДРЕС и в текстовом поле POSTALCODE, но при запросе их значений в ближайшем окне возвращается пустая строка.

Обновление 1:

Кажетсячто кто-то решил полностью перестроить форму с новыми элементами управления.Это, вероятно, происходит в form.load.Но мне все равно хотелось бы узнать, есть ли способ поиска по значениям переменных, чтобы найти строку «Главная улица» или «90210».

Обновление 2:

Оказывается, что есть два кадра друг на друга.Верхний фрейм скрывается при запуске, а нижний (почти идентичный фрейм с такими же метками и элементами управления) отображается.

1 Ответ

2 голосов
/ 22 марта 2012

Вы можете использовать функцию «Смотреть». Это позволит вам проверить все свойства формы и все элементы управления внутри формы и их значения (посмотрите на узел элементов управления).

Вы также можете сделать это с помощью кода, перебирая коллекцию 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...