イメージを更新しようとすると、このエラーが発生しました。クロススレッドの更新でしたが、.Invoke() を使用したので、問題ないはずです。
Benjol
質問する
3790 次
2 に答える
6
(自分の質問への回答、他の人のため、および将来の参考のために)
これは、コントロールがまだロード/表示されていない場合、InvokeRequired が常に false を返すためだと思います (まだ完全にはわかりません) 。現時点ではうまくいくと思われる回避策を実行しました。これは、次のように、作成者で関連するコントロールのハンドルを単純に参照することです。
var x = this.Handle;
( http://ikriv.com:8765/en/prog/info/dotnet/MysteriousHang.html - down?キャッシュ バージョンを参照)
(関連する質問:ボイラー プレートのコードの置き換え - このコードに問題はありますか? )
于 2008-10-29T07:42:09.797 に答える
3
ハンドルがまだ存在しない場合は、コントロールをサブクラス化してCreateHandle
;を呼び出すことで強制できます。ただし、より大きな問題は、ロードされていないフォームで何かをしている理由です。個人的には、このような操作は Load の後にのみ開始します。
于 2008-10-29T08:14:24.523 に答える