Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Как откл разв/сверт TreeNode по двойному щелчку ?


Автор: draiv 5.6.2007, 18:24
Как отключить автоматическое развертывание/свертывание узлов TreeNode по двойному щелчку мышью?

Автор: Xqgene 8.6.2007, 18:02
привет.

следующий пример отключает двойной щелчёк в TreeView, причем полностью. при желании несложно ограничить на отдельный TreeNode
я для этого несколько переписал функцию WindProc в TreeView

Код

    class TreeViewX : TreeView
    {
        protected override void WndProc(ref Message m)
        {
            switch (m.Msg)
            {
                case 0x203:
                    m.Msg = 0;
                    break;
            }
            base.WndProc(ref m);
        }
    }

Автор: draiv 8.6.2007, 23:26
А что значит полностью отключает двойной щелчок (событие DoubleClick тоже не будет генерится?)

Мне надо, просто чтоб узлы не сворачивались/разворачивались по двойному клику на ноде. Там можно проверять свойство в событии свертки/развертки, но оно дает одинаковое значение при свертке по двойному клику и по плюсику, а тока клаву оставлять неудобно, хочу по плюс минус чтоб осталось. Пока поставил, чтоб обратно разворачивалось после сворачивания и забил. Нормально, но не совсем то - слегка видно мелькание, когда узлы сворачиваются и тут же разворачиваются.
Попробую вашу функцию. Подскажите тока, если это не сам TreeView, а его наследник, я уже не смогу визуально его на форму кидать и устанавливать свойства?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)