powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / TreeView: как сделать Expand?
3 сообщений из 3, страница 1 из 1
TreeView: как сделать Expand?
    #39150758
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WinForms.
Сделал такой простой тест для дерева, заполняемого из WCF:
Пускается функция и рекурсивно раскручивает ветку дерева до потрохов.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
private void RunTest()
{
        TreeNode tnSubRoot = treeView.SelectedNode==null?treeView.Nodes[0]:treeView.SelectedNode;
        expandNode2(true, tnSubRoot);
        foreach (TreeNode tn in tnSubRoot.Nodes)
	    {
	        expandNode2(true, tn);
	    }
}
private void expandNode2(bool bExpand, TreeNode tn)
{
    if (tn == null) return;
    if ((tn.IsExpanded && bExpand) ||
        (!tn.IsExpanded && !bExpand)) return;

    tn.TreeView.BeginUpdate();
    if (bExpand)
        tn.Expand();
    else
        tn.Collapse();

    tn.TreeView.EndUpdate();
    Application.DoEvents();
    foreach (TreeNode tnChildren in tn.Nodes)
    {
        expandNode2(bExpand, tnChildren);
    }
}




Вопрос: при таком подходе форма с деревом становится отмороженной, с небольшими просветами.
Как лучше сделать так, чтобы дерево раскручивалось, но гуи был свободен, включая кнопку Cancel для остановки этого шабаша?

BackgrundWorker?
...
Рейтинг: 0 / 0
TreeView: как сделать Expand?
    #39151945
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть идеи как сделать?
...
Рейтинг: 0 / 0
TreeView: как сделать Expand?
    #39154854
FanRammstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первое что пришло в голову это заполнят дерево в отдельном потоке с возвожностью остановки из основного
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / TreeView: как сделать Expand?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]