Мне недавно пришлось делать это с обычным TreeView. Поскольку infragistics.UltraTreeNode имеет контекстное меню, как и обычный TreeNode, я думаю, что техника будет такой же.
Вот как я это сделал:
Шаг 1. Назначьте интересующее контекстное меню каждому узлу, который должен его получить. Это должно быть сделано при заполнении узлов дерева.
Шаг 2. Перехватить событие открытия в контекстном меню (ах)
Шаг 3. Перестройте содержимое меню в обработчике события contextMenu_Opening. Делайте это только для объекта контекстного меню, который будет использоваться разными типами узлов. Вы также можете добавить все элементы, которые вы хотите, в меню, непосредственно в древовидной структуре или в структуре элементов управления, а затем скрыть или показать их через свойство Visible. На данный момент это действительно вопрос личных предпочтений.