Я бы порекомендовал другой подход. Вы, вероятно, не хотите показывать своим пользователям все 10000 или символов документа в их TreeNode, поэтому создайте собственный класс хранения данных
со свойствами, такими как имя и содержимое для хранения документа и его заголовка. Добавьте свой контент в свойство Content и заголовок или что-то значимое для свойства Name, затем добавьте объект в свойство Tag объекта TreeNode.
Dim mynode As New TreeNode
Dim SomeBigCustomObject as New MyContentStorageObject(name,content)
mynode.Text = SomeBigCustomObject.Name
mynode.Tag = SomeBigCustomObject
TreeView1.Nodes.Add(mynode)
Затем вы можете получить объект обратно, когда выбран узел (с помощью события AfterSelect), например:
dim ContentStorageObject As MyContentStorageObject = CType(e.Node.Tag, MyContentStorageObject)
dim content as string = ContentStorageObject.Content
Если вам нужно отредактировать текст, я бы либо открыл диалоговое окно редактора, либо отправил данные, хранящиеся в контенте, в текстовое поле вашей формы для редактирования. Ваши пользователи, вероятно, оценят, что не нужно вводить все это в редакторе узлов дерева.
Это очень быстрое и грязное объяснение, но суть в том, что "используйте свойство .Tag". Удачи.