none
Мерцание TreeView при перетаскивании RRS feed

  • Общие обсуждения

  • Форма - проводник

    На форме находится  TreeView и DataGridView

    Для перемещения элемента в строке DataGridView используется Label

    В лбл отображается текст названия элемента, лбл перемещается за курсором.

    При наведении на нужный узел можно завершить перемещение элемента

    Проблема в том, что при перемещении над узлами, они начинают мерцать

    Побовал DoubleBuffer для формы и для TreeView - не помогает


    Я

    11 июня 2013 г. 8:51

Все ответы

  • Попробуйте в начале операции перетаскивания приостановить прорисовку дерева, а потом по окончании события перетаскивания - включить обратно:

    tree.SuspendLayout() и tree.ResumeLayout()


    Exclusive access to top developers. Remote job for top developers.

    13 июня 2013 г. 20:04
  • Спасибо, Дмитрий, не помогло.

    Я пытался дополнительно подкрашивать узел, над которым проходил курсор, это и было причиной мерцания. Отключил, оставил стандартное выделение - мерцание пропало.

    Можно также использовать стандартный способ - DoDragDrop. Но с лэйблом получается интереснее - можно тащить текст объекта, менять цвет и т.д.

    Почему -то при перетаскивании не получается прокрутка TreeView вверх

    Вниз прокручивается, а вверх нет


    Я


    • Изменено Asur.Vasily 14 июня 2013 г. 5:17
    14 июня 2013 г. 5:14