Если я правильно понял, вы хотите запомнить состояние CheckedListBox , используя текстовый файл.
Я создал фиктивное решение с формой Windows (Form1
), содержащей CheckedListBox (CheckedListBox1
) и кнопку (Button1
), которая обновляет элементы в CheckedListBox в соответствии с содержимым в "DB_NAME.txt"
текстовый файл.
Form1
Form1.vb
Imports System.IO
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles UpdateButton.Click
Dim filename As String = "DB_NAME.txt"
'Dim filename As String = s.ToString() + "\Script\" + "DB_NAME.txt"
If Not File.Exists(filename) Then Return
Using reader As StreamReader = New StreamReader(filename)
Do Until reader.Peek = -1
Dim line As String = reader.ReadLine
For i As Integer = 0 To CheckedListBox1.Items.Count - 1
If (CheckedListBox1.Items(i).ToString = line) Then CheckedListBox1.SetItemChecked(i, True)
Next
Loop
End Using
End Sub
End Class
Содержание текстового файла "DB_NAME.txt"
:
item C
item D
И, наконец, во время выполнения, после нажатия кнопки «Обновить», вы получаете:
Если у вас все еще проблемы, я рекомендую изолировать вашу проблему в фиктивном решении и отладить, используя точки останова, чтобы понять, с какими именно типами переменных вы работаете.
Я полагаю, что вы все еще получаете исключения, потому что вы вызываете методы и свойства, которые не существуют в вашем объекте. Это, вероятно, потому что вы предполагаете, что этот объект имеет заданный тип, а это не так.