私は C# を使用して Win Forms でマルチスレッドを学習しています。ソースによると、これを達成するための最良の方法は、ワーカー スレッドからメイン メソッドを呼び出すことです。
重い処理を実行する必要があり、その後 GUI が更新される場合、これはすべてうまく機能します。
ただし、パネル内に多くのコントロールをプログラムで追加する必要があるシナリオがあります。これは数千に達する場合があります (パネルはスクロール可能になります)。したがって、コントロールは最終的にメイン スレッドによって追加されるため、プログラムはこれが完了するまでハングします。
これを回避する方法はありますか?または、多くのコントロールを同時にインスタンス化する必要のない他のコントロールを試して使用する必要があります (これは明らかに少し重いため)。
基本的に、このパネルにはアイコンと一緒にリストが含まれています (状態によって異なります)。したがって、理想的な方法かどうかわからないすべてのエントリのラベルを作成しています。
ところで、私は Web アプリケーション開発部門から来ました..NET の div に似たコントロールはありますか? リッチ テキスト ボックスを確認しましたが、簡単に画像を追加できるようには見えません。
前もって感謝します。