私はWndows XP SP3 x86 + VSTS 2008を使用して、C#を使用して簡単なWindowsフォームアプリケーションを作成しています。 button1
と呼ばれるボタンがあります。ここにclickイベントのイベントハンドラがあります。ifステートメントを実行すると、Microsoft.VisualStudio.Debugger.Runtime.CrossThreadMessagingException
があります。誰にも間違っているアイデアはありますか?WinFormsアプリケーションのデバッグ中にCrossThreadMessagingExceptionを受け取る
private void button1_Click(object sender, EventArgs e)
{
string recording = ConfigurationSettings.AppSettings["recording"];
// exception thrown when executing the following if statement
if (recording.Equals("enable", StringComparison.InvariantCultureIgnoreCase))
{
CameraEncoder.Stop();
}
}
いくつかのより多くのコード:
static WMEncoder CameraEncoder = new WMEncoder();
EDIT1:
私は私のコードでInvoke
を使用してのマークの考え方を適用するかどうかは混乱しています。次のコードセグメントを使用する必要がありますか?
CameraEncoder.Invoke((MethodInvoker) delegate
{
CameraEncoder.Stop();
});
(コメントに返信) –
私はあなたの素晴らしいコメントを見た、私は私を追加しました。あなたの素晴らしいアイデアを再検討して共有してください。 :-) – George2