私のアプリケーションでは、プロセス (Tshark) を開始してキャプチャを開始します。キャプチャが終了したら、作成されたファイルをチェックし、UI を更新するためにプロセス出力から受信したパケット数を解析します。この時点で、作成されたファイルが大きい場合、受信したパケット数の結果が得られるまですべての UI がスタックするため、別のスレッドで実行したいと考えています。
Capinfos capInfo = new Capinfos(); //my class who return the number of packets
ThreadStart tStarter = delegate {label.Text = capInfo._numberOfPackets.ToString("#,##0"); };
Thread thread = new Thread(tStarter);
thread.IsBackground = true;
thread.Start();
このコードは、クロス スレッド エラーを返します。