Member 12939116 Ответов: 1

Как добавить текст из файла в метки


привет у меня есть текстовый файл и массив меток с именем
arraylabels
когда я закрываю свою программу, каждый текст метки сохраняется в виде строки в текстовом файле,я хочу,чтобы текст возвращался к каждой метке, когда я снова открываю программу из сохраненного текстового файла, Примечание:мои метки помещаются в текстовый файл.
flowlayoutpanel


Что я уже пробовал:

Я перепробовал много кодов и подходов это один из них
<pre>Dim lines As String() = File.ReadAllLines(del.filename)
        Dim v As Integer = 0
        For v = 0 To UBound(labelarray)
            If lines.Length <> 0 And lines(v) <> "" Then
                labelarray(v).Text = lines(v)
            Else
                Exit For

            End If
        Next

этот возвращает нулевую ссылку в строке
labelarrays(v).text=lines(v)

1 Ответов

Рейтинг:
0

OriginalGriff

Чтобы получить исключение null reference, объект слева от оператора dot должен быть null. В этой строке точка используется только для доступа к свойству Text элемента управления для установки строки. Таким образом, очевидно, что по крайней мере один из элементов labelarray ничего не содержит.
Используйте отладчик, чтобы узнать значение v при возникновении ошибки проверьте соответствующий элемент массива и выясните, почему он содержит null.
Когда вы знаете, какой это элемент(ы), вы можете начать оглядываться назад в своем коде, чтобы выяснить, почему он равен нулю.

Мое предположение было бы, что v это ноль, и вы вообще не загрузили никаких элементов управления в массив, просто назначили для них место - но без кода догадка-это все, что нужно.


Member 12939116

@Originalgriff спасибо за ваш ответ, labelarray содержит 70 меток, так что он не нулевой
и отладчик указывает v=0, как и ожидалось,так что
labelarray(0)=label1
я нахожу, что это имеет смысл,в любом случае я просто хочу сохранить текст этих меток, поэтому, когда я снова открываю свою программу, она показывает назад, что это все,я уже сохранил их теперь я хочу, чтобы они вернулись как строки (0) - это текст label1 и так далее,Если вам нужна дополнительная информация о коде, я предоставлю ему помощь, которая будет оценена по достоинству.

OriginalGriff

Если v равно нулю, и вы получаете нулевую ошибку ссылки, то отладчик покажет вам, что labelarray(v) не содержит ничего - ни метки.
Поэтому, когда вы пытаетесь получить доступ к свойству Text, вы получаете ошибку.
Итак, где вы создаете labelarray и где вы заполняете его новыми экземплярами Label? Поскольку создание массива объектов меток не создает самих меток, точно так же, как создание автостоянки автоматически заполняет каждый парковочный отсек новым автомобилем!