У меня есть элемент управления TreeView, отображающий несколько узлов TreeNode в организованной иерархии. Я хочу, чтобы пользователь не выбирал узлы самого высокого уровня (это было достигнуто с помощью события BeforeSelect). Я также хочу, чтобы TreeView не выделял узлы верхнего уровня, если пользователь выбирает их, т.е. не позволяет TreeView изменять цвет фона узла и «выбирать» его.
TreeView, который я использую, является версией WinForms элемента управления.
Ниже приведен исходный код, который я сейчас пытаюсь использовать:
private void tree_BeforeSelect ( object sender, TreeViewCancelEventArgs e )
{
if ( e.Node.Level == 0 )
{
e.Cancel = true;
}
}
Это отменяет выбор узла, но только после нежелательной вспышки (~ 200 мс), что нежелательно.