Я пытаюсь получить доступ к форматированному текстовому полю в другой форме. Я использую для этого следующий код:
Private Delegate Sub StringDelegateChat(text As String, window As ChatWindow)
Private Sub AppendTextChatWindows(text As String, window As ChatWindow)
Try
If window.RichTextBox1.InvokeRequired Then
window.Invoke(New StringDelegateChat(AddressOf AppendTextChatWindows), text, window)
Else
window.RichTextBox1.AppendText(text)
window.RichTextBox1.SelectionStart = window.RichTextBox1.Text.Length
window.RichTextBox1.ScrollToCaret()
End If
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End Sub
но я получаю ошибку межпотоковая операция недействительна, я думаю, что это происходит потому, что он пропускает window.invoke
часть оператора if. Я также попытался заменить If window.RichTextBox1.InvokeRequired Then
на If InvokeRequired Then
, но он попадает в цикл продолжения и возникает ошибка переполнения стека.
Спасибо Houlahan