Недопустима операция в нескольких потоках: Доступ к элементу, не из того потока в котором он был создан

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

ServerLog - это RichTextBox. С обычным лейблом это тоже не работает. Посоветуйте решение новичку пожалуйста.

    {
        public Form1()
        {
            InitializeComponent();
        }

        Process ServerM = new Process();
        ProcessStartInfo StartConf = new ProcessStartInfo
        {
            FileName = "cmd.exe",
            Arguments = "/c ipconfig \"",
            UseShellExecute = false,
            CreateNoWindow = true,
            RedirectStandardOutput = true,
            RedirectStandardInput = true,
        };


        public void ServerStart_Click(object sender, EventArgs e)
        {
            ServerM.StartInfo = StartConf;
            ServerM.Start();
            ServerM.BeginOutputReadLine();
            ServerM.OutputDataReceived += (s, a) => {
                ServerLog.AppendText(a.Data + "\n");
            };
        }
    } 

Ответы (1 шт):

Автор решения: Канал OverKilla

Если ты пытаешься вызвать или изменить свойства контролла из другого потока можно использовать Invoke Пример:

ServerLog.Invoke(new Action(()=>ServerLog.AppendText(a.Data+"\n")));
→ Ссылка