У меня есть обычный .NET Windows Forms древовидный элемент управления. Узлы настроены так:
* Группа 1005 *
--- ребенок
--- ребенок
Если я дважды щелкну свернутый узел группы, он развернется (как и следовало ожидать), и событие NodeMouseDoubleClick будет запущено, где мой код что-то делает, если выбранный узел НЕ является узлом группы.
Проблема возникает, когда группа расположена в нижней части древовидной структуры, поэтому при двойном щелчке узла группы требуется, чтобы древовидная структура расширялась по вертикали, чтобы соответствовать дочерним узлам. В таких случаях, если я дважды щелкаю узел Group, к тому времени, когда он расширяется и настраивает древовидную структуру, мой курсор мыши находится над дочерним узлом (он должен был подтолкнуть все вверх), и это заставляет NodeMouseDoubleClick думать о дочернем узле выбран, что вызывает очень странное поведение.
Как я могу обойти это? Я не должен использовать NodeMouseDoubleClick или ..?
Я вижу, это было также объяснено в отчете обратной связи Проблема с событием TreeView DoubleClick после развертывания / свертывания привела к изменению прокрутки .