2011-06-24 6 views
1

私はC#を初めて使っています。最近、バックグラウンドワーカーを使用して、Windowsフォームアプリケーション上の別のスレッドでストアドプロシージャを実行する必要があり、実行時間が2倍になったことがわかりました。バックグラウンドワーカーのDoWorkイベントは、設計時に既に設定していても、実行時に誤って初期化されました。コードの初期化を取り除こうとしましたが、実行時間が再び正常になりました。バックグラウンドワーカーのDoWorkイベントハンドラがデザイン時および実行時に設定されていると、実行時間が2倍になるのはなぜですか?

なぜ実行時間が2倍になったのか不思議です。誰がこの事が起こったのか知っていますか?

答えて

3

おそらく、DoWorkイベントがコードから1回、デザイナーから1回、2回登録されていました。したがって、それは2回実行されました。

+0

ああ..そうなのは、イベントを2回登録すると、イベントが2回実行されるということです。それはDoWorkのためのものなのか、それともC#のすべてのイベントの同じことでしょうか?ありがとう! – kaz

+0

@kaz:これは.netのすべてのイベント用です – HCL

関連する問題