Вы можете создавать подкласс TreeNode, добавлять свойства и переопределения по мере необходимости.
Или вы можете назначать номера Tag свойства при построении дерева.Алгоритм будет зависеть от того, как вы построите дерево (сверху вниз, снизу вверх и т. Д.).
Более точная информация (код) поможет сформулировать более четкий ответ.
обновление после комментария OP:
Извините, я неправильно запомнил;вам нужно переопределить TreeView вместо этого.Что-то вроде
public class MyTreeView : System.Windows.Forms.TreeView
{
// ...
protected override void OnDrawNode(DrawTreeNodeEventArgs e)
{
if (e.Node.Tag != null)
{
if (e.Node.Tag.GetType() == typeof(MyDataObject))
{
MyDataObject data = (MyDataObject)e.Node.Tag;
e.Node.Name = data.Number + ". " + data.Name;
}
}
}
}