Если вы хотите знать абсолютное дно области содержимого (только то, что расширено), то вы можете использовать свойство Nodes со свойством Bounds для получения видимой высоты.
TreeNode tn = tv.Nodes[tv.Nodes.Count - 1];
while(tn.IsExpanded)
tn = tn.Nodes[tn.Nodes.Count - 1];
return tn.Bounds.Bottom;
Просто убедитесь, чтоиметь правильную проверку ошибок (на самом деле TreeView имеет HAS-узлы и т. д.).Что касается ширины, не помню точно, как я это сделал.Однако вы можете использовать само свойство Bounds TreeView (может потребоваться некоторое тестирование).У меня была похожая ситуация, когда у меня не было AutoSizing TreeView, но он содержался в панели и заливался заливкой, поэтому мне нужно было самому обрабатывать полосы прокрутки, изменяя размеры дерева в Expand / Collapse.