object -> treeview -> выделенный объект в моем объекте - PullRequest
0 голосов
/ 06 октября 2010

Хорошо, вот мой вопрос:

f.ex У меня есть структура данных примерно такая:

String name
  - List<String> subNames;
        - List<String> subSubNames;

Я могу легко заполнить древовидное представление данными. Но как мне получить все наоборот?

например: Я выбираю некоторое subSubName в древовидной структуре, что является самым простым способом получения имени, но не в древовидном представлении само по себе, а в собственном объекте.

Я могу написать это сам, но, может быть, есть самый простой способ сделать это? Что-то вроде привязки объекта к дереву и т. Д. ...

1 Ответ

1 голос
/ 06 октября 2010

Вы можете использовать свойство Tag TreeNode для хранения данных об узле.

Пример, в котором переменная name содержит ваши данные, а treeView1 - ваш TreeView:

TreeNode node = new TreeNode();
node.Text = name.ToString(); //can be any string
node.Tag = name;
treeView1.Nodes.Add(node);

Чтобы извлечь данные из узла, просто приведите Tag к нужному классу:

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
    name = (Name)e.Node.Tag;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...