план
Я уверен, что на этот вопрос, наверное, где-то был дан ответ, потому что он довольно простой, но, к сожалению, я не нашел ответа ...
Мой план состоит в том, чтобы создать простую функцию журнала, которая использует RichTextField в качестве вывода и реализует такие функции, как Add, AddLine, RemoveLine, ReplaceLine, ...
что не работает
всякий раз, когда я пытаюсь получить доступ к объекту RichTextBox из класса журнала, я получаю исключение "ничто".
мой подход
Идея состояла в том, чтобы сохранить ссылку на RichTextBox в самом классе, который передается при создании нового экземпляра класса:
Public Class Log
Dim _logBox As RichTextBox
Public Sub New(ByRef logBox As RichTextBox)
_logBox = logBox
End Sub
Public Sub AddLine(ByVal text As String)
Me.Add(text)
_logBox.AppendText(Environment.NewLine)
End Sub
End Class
А в моем классе Form RichTextBox создается при запуске и передается в журнал. Класс:
Public Class Form1
Dim log As New Log(RtbxLog) ' RtbxLog: RichTextBox object created on form
[on some button click event]
log.AddLine("entry with new line") ' THIS CAUSES "nothing" EXCEPTION
End Class