Отображение контекстного меню для элементов TreeView в C#

В этом примере отображаются различные контекстные меню при щелчке правой кнопкой мыши на разных типах узлов в элементе управления TreeView. В этом примере различные узлы представляют собой фабрики, группы или отдельные лица. Различные типы узлов отображают различные контекстные меню.

При запуске программа добавляет данные в свой элемент управления TreeView, как в примере Отображать подсказки для узлов TreeView в C# . Когда вы нажимаете правую кнопку мыши по узлу, выполняется следующий обработчик событий MouseDown.

Если кнопка мыши не является правой кнопкой, код ничего не делает. Если это правильная кнопка, в коде используется метод GetNodeAt элемента управления TreeView, чтобы найти узел под мышью. Он устанавливает для этого узла свойство SelectedNode элемента управления TreeView. Если узел имеет значение null, тогда происходит удаление обработчика событий.

Если код добирается так далеко (это правая кнопка мыши и есть узел под мышью), тогда программа проверяет тип объекта, содержащегося в свойстве Tag узла, и отображает соответствующий контекстное меню. Параметры вызова метода контекстного меню Show указывают, какое управление связано с меню и где должно располагаться меню.

Все контекстные меню имеют команду Delete, помеченную соответствующим образом: Delete Factory, Delete Group или Delete Person.

Следующий код показывает код за каждым из команд контекстного меню «Удалить».

Источник: http://csharphelper.com/blog/2017/04/display-context-menus-for-treeview-items-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *