2009-09-01 5 views
-2

C#でWindowsフォームアプリケーションを作成しました。フォーム上のパネルの非表示を切り替えるメソッドを含む別のスレッドを実行すると、最初の時間ではなく2番目の時間で動作します。なぜ、どうすれば修正できますか?Windowsフォームによるスレッディング

+0

詳細情報をください。 –

+0

あなたのアプリはどの言語で書かれていますか?投稿するコードがありますか? –

+3

バベルフィッシュは、ヘルルバの薬です。 –

答えて

0

私は、バックグラウンドスレッドから呼び出すUIコードがあると思います。 ;)

0

あなたの質問は少し曖昧ですが、UIを別のスレッドから制御したいと思うように聞こえます。この場合、要求を同期する必要があります。どのようなプログラミング言語を使用しているのかわからなくても、それを行う方法を教えるのは難しいです。

3

おかげで、フォローコードで私の問題を解決:

Panel tmp = null; 
switch (d.Person) 
{ 
    case 1: tmp = backPic1; 
     break; 
    case 2: tmp = backPic2; 
     break; 
    case 3: tmp = backPic3; 
     break; 
} 
if (InvokeRequired) 
{ 
    tmp.Invoke(new MethodInvoker(delegate() { tmp.Visible = true; })); 
} 
else 
{ 
    tmp.Visible = true; 
} 
+1

um .. ok。申し訳ありませんが、私たちは助けません... – RCIX

関連する問題