Я работаю над подсчетом файлов ... Пока я просматриваю справочник в фоновом режиме, я должен выбрать соответствующий узел с таким же именем, что и имя каталога, в моем TreeView
с помощью обработчика ProgressChanged
.C# Treeview Update from Background Worker
Treeview был уже заполнен всеми подкаталоги с указанным корневой путь ..
Мой ProgressChanged
Событие будет запущено 1 раз в 15 миллисекунд .. (так быстро это не так).
так, когда я обновляю свой TreeView в обработчике, мое окно замораживается, и так медленно ... и даже не реагирует ...
Вопрос:
как обновить пользовательский интерфейс с в быстро работает ProgressChanged
обработчик ..
код
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();
}
на коде выше я обновление TreeView ...
Не обновляйте это быстро? Выполняйте большие обновления с меньшими интервалами. Я бы также удалил 'EnsureVisible', так как это может быть нежелательным UX для перемещения вещей на экране, когда пользователь смотрит на него. – Jay
Yea .... должен запланировать это .. :-( –