As you have found out, there is no direct way to have text with multiple lines displayed as the content of a WinForms' TreeView TreeNode.
Theoretically you could do this by custom owner-drawing the Node and its Text, and Microsoft has supplied an example of this (but, the example does not demonstrate multiple lines of text) since FrameWork 2.0: [
^].
I would suggest you not waste the time to try and create custom owner-drawn nodes unless: you are an experienced developer, and you have a lot of time to waste for little return.
So, what are the alternatives ?
1. set the 'Scrollable property of the TreeView to 'true, and let the end-user scroll to see extended text content in a TreeNode.
2. set 'Scrollable to 'false and 'ShowNodeToolTips to 'true, and assign strings with line-break characters to the ToolTip property of all, or some, TreeNodes. Or, you could write some code that at application launch recursively went through all the TreeNodes, and created custom ToolTips for only those TreeNodes that you somehow figured out had extended length Text. The problem being there's no way to detect exactly how much of the current Text in the Node is
not visible given the TreeView's width.
Finally, I'd suggest you examine the various TreeView, and TreeListView, controls that have been published here on CP over the years, starting with Philip Piper's classic 'ObjectListView, which has been evolving for many years, and which is still actively supported (as of May, 2014): [
^].
I believe, but am not sure, that 'ObjectListView supports multi-line text content in Nodes.