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