C# TreeView 効率良いノード追加の仕方
C# TreeViewについて質問させてください。
ノード(子ノード含む)を数万件以上登録する際に、効率の良い方法を教えて頂けないでしょうか?
実際のコードとは異なりますが、大まかに以下のような処理をメインスレッドで行っています。
class MyTreeNode : TreeNode{
void AddNode(){
BeginUpdate();
SuspendLayout();
foreach( var 親ノード情報 in 親ノード情報リスト ){
TreeNode parentNode = new TreeNode( 親ノード名 );
foreach( var 子ノード情報 in 子ノード情報リスト ){
TreeNode childNode = new TreeNode( 子ノード名);
parentNode.Nodes.Add( childNode );
}
this.Nodes.Add( parentNode );
}
ResumeLayout();
EndUpdate();
}
}
この方法ですと、かなり時間がかかってしまい、UIが固まったようになってしまいます。
(TreeViewに、子ノードの一斉展開機能が必要なので、親ノード展開時のイベントを拾って
子ノードを追加する方法は上記と同じく遅くなってしまうのではと思っていますがどうなんでしょうか?)
お礼
解決できました!!!ありがとうございました!!!