스레드에서 UI 스레드로 다시 데이터를 마샬링하는 방법에 대해 stackoverflow를 검색하여 3.5에서 다양한 방법을 찾았습니다.Control.Invoke 중 하나 이상의 속성을 설정해야합니다.
나에게 더 우아한 해결책 중 하나는; 나는 아직도 람다를 배우기는하지만이 해결책은 Control.Invoke with input Parameters입니다.
코드를 완전히 이해하지 못했지만 사용 방법을 이해하고 있으며 내 문제를 해결하지 못했습니다.
invoke를 호출하고 문자열을 다른 메서드 (DisplayStatusUpdate (msg))에 전달하고 싶습니다. 모든 포인터는 감사하겠습니다. 당신이 원하는대로
private void FireEventAppender_OnMessageLogged(object sender, MessageLoggedEventArgs e)
{
DisplayStatusUpdate(e.LoggingEvent.RenderedMessage);
}
private void DisplayStatusUpdate(string text)
{
_StatusTextBox.Text = _StatusTextBox.Text + text;
_StatusTextBox.Text = String.Format("{0}\r\n", _StatusTextBox.Text);
_StatusTextBox.SelectionStart = _StatusTextBox.Text.Length - 1;
_StatusTextBox.ScrollToCaret();
}
니스, 고맙습니다. 브랜든. Signature가 DisplayStatusUpdate에 대한 비트를 변경하려고했지만 그걸 못 견딜 수 없다는 것을 알고있었습니다. –
미안하지만 서명은 동일하지만 당신이 의미하는 바를 알고있었습니다. –