ファイルのカウントに取り組んでいます... バックグラウンドでディレクトリをスキャンしている間、TreeView
viaProgressChanged
ハンドラのディレクトリ名と同じ名前を持つ対応するノードを選択する必要があります。
Treeview には、指定されたルート パスを持つすべてのサブディレクトリが既に取り込まれています。
私のProgressChanged
イベントは 15 ミリ秒ごとに 1 回発生します (とても高速ではありません)。
そのため、そのハンドラーでツリービューを更新すると、ウィンドウがフリーズし、非常に遅くなります...さらには応答しません...
質問:
高速実行ProgressChanged
ハンドラーで UI を更新する方法..
コード
var nodes = tv.FlattenTree()
.Where(n => n.Text == new FileInfo(CurrentFilePath).Directory.Parent.Name)
.ToList();
上記のコードでノードを選択しています。
if (nodes.Count() > 0)
{
nodes[0].ForeColor = Color.Blue;
nodes[0].EnsureVisible();
}
上記のコードで、ツリービューを更新しています...