クロススレッド例外を修正するための助けが必要です。私は通常、この問題を解決呼び出しを使用していますが、それはwokringされていない何らかの理由:クロススレッド例外を修正する
void paintTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
Invoke(new InvalidateFromSepThreadDel(InvalidateFromSepThread));
}
delegate void InvalidateFromSepThreadDel();
void InvalidateFromSepThread()
{
TailGraph.Invalidate();
}
例外が呼び出しにスローされます。
$有効でない例外{ "クロススレッド操作:Tバックマーシャリングしますコントロール「XTailGraph」 それが上に作成されたスレッド以外のスレッドからアクセス "}のSystem.Exception {}のSystem.InvalidOperationException
Forms.Timerを使用 –
TailGraph.Invoke(new InvalidateFromSepThreadDel())> TailGraph.Invalidate()));を試してください。 –
これは例外を生成すべきではありません。別のスレッドからControl.Invalidate()を呼び出すことがサポートされています。 WindowsとWinformsの両方で。実際にInvalidate(true)を呼び出さなかったことを確認してください。 –